guile-devel
[Top][All Lists]
Advanced

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

Code review for thread safeness


From: Marius Vollmer
Subject: Code review for thread safeness
Date: Mon, 07 Mar 2005 23:04:59 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/21.3.50 (gnu/linux)

Hi,

as far as I am concerned, the last larger thing holding up a Guile 1.8
release is a code review with the aim of making libguile thread safe.

I have replaced all SCM_DEFER_INTS, SCM_ALLOW_INTS calls with
SCM_CRITICAL_SECTION_START/END.  We need to check all occurences
whether they are really used correctly, as explained in the ref
manual.  Basically, there must be no non-local exits between
SCM_CRITICAL_SECTION_START and SCM_CRITICAL_SECTION_END.  If there
might be non-local exits, scm_frame_critical_section can be used
instead.

(Right now, Guile aborts when a non-local exit does in fact happen
between SCM_CRITICAL_SECTION_START and _END.)

Also, there are probably many more places that need to become critical
sections.  We need to find them and use SCM_CRITICAL_SECTION_START/END
or scm_frame_critical_section, as appropriate.

I will release 1.7.2 with a warning that the code review has not been
done yet and then start the review itself.

Any helpers?  Please reply here so that we can coordinate.

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




reply via email to

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