[erlisp-devel] Re: async signals

Faré fahree at gmail.com
Sun Sep 18 15:25:51 UTC 2005


On 9/18/05, Ivan Boldyrev <lispnik at gmail.com> wrote:
> Un Unix-like (or POSIX-like) The only safe thing you can do during
> asynchronous interrupt handling is to read or set variable of some
> type sig_atomic_t.
Maybe you didn't realize that we were talking about Lisp and not C.
Asynchronous interrupts at the Lisp level need not be asynchronous
signals at the C level. Lisp interrupts can be either higher-level
than the C level (already handling your sig_atomic_t and then doing
something when back from the signal handler), or they can be lower-level
(talking directly to the kernel, to avoid the limitations of the C library).
And whatever level we are at, the problem of propagating asynchronous
interrupts to the level above (that of the application -- which itself
could be layered into many levels) is a non-trivial problem with essentially
the same kind of solutions, only at a higher level.

And the challenge for concurrent languages is PRECISELY to offer a way
to deal with asynchronousness that deals nicely with the above problem.

[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
If a vegetarian eats vegetables, what does a humanitarian eat? -- Mark Twain



More information about the Erlisp-devel mailing list