[Ecls-list] Revisiting locks and signals

Waldek Hebisch hebisch at math.uni.wroc.pl
Tue Oct 26 15:54:13 UTC 2010


> 
> Beware, the following is a collection of confused ideas that pop up every
> few months. They all concern the way Lisp deals with interrupts and thread
> cancellation.
> 
> Some background. Following SBCL we have fully supported process-kill and
> process-interrupt using signal handlers. However POSIX demands various
> things from a signal handler. One is that it should do very little. It is
> not allowed to call almost any function:
> 
> http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_04.html
> Currently we do not follow this document.

I think it is reasonable to ignore POSIX restrictions.  POSIX is mostly
a C API standard, so it is affected by limitations of C library.
And the standard due to political pressure has to accomodate
essentially obsolete systems.  However, AFAIK at the system call
level on most Unix system there is no problem: one may call system
calls from signal handler or longjmp outside.  There may be problem
with locking in the C library, but C libraries are getting better.

So, I think that ECL should look at capabilites provided by popular
system and base on that (possibly declaring that some functionality
is absent on less popular systems).

-- 
                              Waldek Hebisch
hebisch at math.uni.wroc.pl 




More information about the ecl-devel mailing list