Re: Events
Jan Echternach (echter@informatik.uni-rostock.de)
Wed, 28 Jun 2000 20:03:13 +0200
On Tue, Jun 27, 2000 at 11:21:53AM +0200, Christoph Rohland wrote:
> corrected). select and signals for interruption are not
> compatible. You always have a race condition between unblocking the
> signal and actually getting into select. AFAIK POSIX defines the
> pselect call for this problem which also introduces a signal mask
> argument. Without this, signals are useless to interrupt select.
select() is one of the few system calls that _is_ compatible with
signals. You can do a siglongjmp() from the signal handler to abort
the select(). However, this isn't as simple as a pselect() call
(because of maintaining flags, avoiding siglongjmp() from nested signal
handlers etc.).
--
Jan
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/