guile-devel
[Top][All Lists]
Advanced

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

Re: [PATCH]: Critical section checked for incorrect thread.


From: Andy Wingo
Subject: Re: [PATCH]: Critical section checked for incorrect thread.
Date: Tue, 16 Dec 2008 23:21:37 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux)

On Sun 14 Dec 2008 00:59, address@hidden (Ludovic Courtès) writes:

>> -  if (scm_i_critical_section_level)
>> +  if (SCM_I_CURRENT_THREAD->block_asyncs)
>
> It seems to me that "throw from within critical section" means precisely
> "throw when SCM_I_CRITICAL_SECTION_LEVEL is non-zero".  I don't see what
> asyncs have to do with that.

When scm_i_critical_section_level is nonzero, t->block_asyncs is
nonzero. The reverse is not true.

So... two options then: make this change, hoping that we don't get too
many throws when asyncs are blocked for other reasons... sounds not so
good. Or we remove the check entirely, hoping that there's not too much
erroneous code out there that this check would help. It seems like we
should do the latter, and in 1.9 make it a goal to remove critical
sections entirely, all 45 uses or so, replacing them with finer-grained
mutexen or redoing the code.

Andy
-- 
http://wingolog.org/




reply via email to

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