emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Releasing the thread global_lock from the module API


From: Spencer Baugh
Subject: Re: Releasing the thread global_lock from the module API
Date: Fri, 01 Mar 2024 14:02:24 -0500
User-agent: Gnus/5.13 (Gnus v5.13)

Eli Zaretskii <eliz@gnu.org> writes:
>> > I think this is already possible, see above.  I guess I'm missing
>> > something.
>> 
>> I don't think it is.  How would a module release global_lock, call a C
>> library function on the current thread, and then re-acquire the global
>> lock?  Can you say how you would do that with the APIs we have today?
>
> If a thread releases a global lock, it cannot run the Lisp machine
> until it re-acquire the global lock.

Yes.  But calling a C library function (by some other library not
related to Emacs but used by the module) does not involve calling into
the Lisp machine or any Emacs machinery.  So, because it does not
involve calling into Emacs, we could allow the thread to make that call
without the Emacs global lock which protects Emacs.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]