[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