[Gc] Allowing SIGINT during garbage collection may result in deadlock

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Tue Apr 20 00:57:04 PDT 2010


2010/4/20 Ivan Maidanski <ivmai at mail.ru>

>
> Most GC functions are not re-entrant (e.g. which do locking), so if you
> call a GC function from an async signal, you should do signal blocking
> (deferring) in every non-reentrant GC API function (instead of doing it for
> garbage collections), right?
>

It is not safe to call _almost_ _any_ function from a signal handler, not
even malloc()

http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html#tag_02_04
Signal handlers are useless in that respect, except for sending messages to
threads that actually do the job.

Please do not make the garbage collector block signals by default.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://tream.dreamhosters.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://napali.hpl.hp.com/pipermail/gc/attachments/20100420/538417de/attachment.htm


More information about the Gc mailing list