>So any wrapping is going to need a flag that is set in the SIGUSR1
>handler function, and only restart the system call if the flag is set,
>but not otherwise.
The way this stuff should work (presuming it is okay not to run on
older systems that lack restartable system calls), is to always use
system call restarts and to then use longjmp() to jump around the
system call back to some point in your program. This usually
requires careful use of flags to indicate when to call longjmp and
when not to.
--
Ronald S. Karr
tron |-<=>-| tron@???