Re: Pb with signal() and read()

2000-07-30 Thread christophe leroy
Matt Wilson a écrit : > > read() doesn't return on signal. Why ? I want it to return with > > errno=EINTR. How can I do that ? > > read should return on a signal - do you have a test case that shows > differently? Look this little test prog: #include void fsig(int sig) { printf("Sig re

Re: Pb with signal() and read()

2000-07-30 Thread Matt Wilson
The man page says that the signal() behavior is BSD, last sentence. PORTABILITY The original Unix signal() would reset the handler to SIG_DFL, and System V (and the Linux kernel and libc4,5) does the same. On the other hand, BSD does not reset the handler, but

Re: Pb with signal() and read()

2000-07-30 Thread Stanislav Meduna
On Sun, Jul 30, 2000 at 02:57:52PM +0200, Christophe Leroy wrote: > read() doesn't return on signal. Why ? I want it to return with > errno=EINTR. How can I do that ? signal() is deprecated, use sigaction() and friends instead. These are portable and much more sane interface to signals. Your pr