]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
The sigwait(3) function shall not return EINTR, according to the
authorkib <kib@FreeBSD.org>
Sat, 1 Oct 2011 10:18:55 +0000 (10:18 +0000)
committerkib <kib@FreeBSD.org>
Sat, 1 Oct 2011 10:18:55 +0000 (10:18 +0000)
commit71b9169fe9444b8207262f62c1b9396dfdbf3693
tree6839617c00146f79f5483b8a199a39a6ef17019f
parent91bf568cd6ac3039b0005e4b0472bc318fa46fde
The sigwait(3) function shall not return EINTR, according to the
POSIX/SUSvN. The sigwait(2) syscall does return EINTR, and libc.so.7
contains the wrapper sigwait(3) which hides EINTR from callers.  The
EINTR return is used by libthr to handle required cancellation point
in the sigwait(3).

To help the binaries linked against pre-libc.so.7, i.e. RELENG_6 and
earlier, to have right ABI for sigwait(3), transform EINTR return from
sigwait(2) into ERESTART.

Discussed with: davidxu
MFC after: 1 week
sys/kern/kern_sig.c
sys/sys/param.h