Re: Desperately missing a working "pselect()" or similar...

Alexander Viro
2001-10-05T16:19:12Z

On Fri, 5 Oct 2001 lkv@isg.de wrote:

> A somewhat bizarre solution would be to have the process create
> a pipe-pair, select on the reading end, and let the signal-handler
> write a byte to the pipe - but this has at least the drawback
> you always spoil one "select-cycle" for each signal you get - as
> the first return from the select() call happenes without any
> fds being flagged as readable, only when you enter select() once
> more the pipe will cause the return and tell you what happened...

fork() is cheap. Create a child, have a pipe between child and
parent and do select() on the other end of pipe. I.e. signal handler
writes into pipe and that triggers select() in the second process.