Kevin Ryde <[EMAIL PROTECTED]> writes:

> Marius Vollmer <[EMAIL PROTECTED]> writes:
>>
>> If there might be non-local exits, scm_frame_critical_section can be
>> used instead.
>
> If an error occurs and a lazy-catch executes, is the mutex unlocked
> for that handler?

No, the handlers of the lazy-catch execute in the same dynamic context
as the (throw ...) that started them.

I guess you are worried about what happens when the lazy handler tries
to enter the critical section (or another one that uses the same
mutex) again.  I think this is covered by this from the manual:

     When the current thread reenters the critical section anyway, the
     kind of MUTEX determines what happens: When MUTEX is recursive,
     the reentry is allowed.  When it is a normal mutex, an error is
     signalled.

-- 
GPG: D5D4E405 - 2F9B BCCC 8527 692A 04E3  331E FAF8 226A D5D4 E405


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel

Reply via email to