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 blocks new instances of this signal from
occurring during a call of the handler. The glibc2
library follows the BSD behaviour.
Use sigaction.
On Sun, Jul 30, 2000 at 02:57:52PM +0200, Christophe Leroy wrote:
> Hello,
>
> I'm using gcc on Linux RedHat 6.2
> It's said in man that signal() behaviour is SYSV one. But, when I
> compile my programs, signal() has got the BSD behaviour. Why ?
> How can I make it have SYSV behaviour ?
>
> 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?
Matt
_______________________________________________
Redhat-devel-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-devel-list