Date: Tue, 6 Jul 2004 20:22:13 -0700 (PDT) From: Logan Gabriel <gersh@tabby.sonn.com> To: standards@freebsd.org Subject: POSIX threads question. Message-ID: <20040706201547.F18570@tabby.sonn.com>
next in thread | raw e-mail | index | archive | help
Hello, I have a question about the POSIX standard regrading sigwait(). In FreeBSD 4.x and 5.x (with -lc_r) the behaviour of sigwait to delete SIGCHLD (And some others) from its waitset: >From 4.x (libc_r/uthread/uthread_sigwait.c) /* These signals can't be waited on. */ sigdelset(&waitset, SIGKILL); sigdelset(&waitset, SIGSTOP); sigdelset(&waitset, _SCHED_SIGNAL); sigdelset(&waitset, SIGCHLD); sigdelset(&waitset, SIGINFO); Does the POSIX standard say that these signals cannot be waited on or is it specfic undefined behaviour. Linux (RedHat 9.1/Suse 9.1), Solaris 8 and MacOS X will let me use sigwait() to wait for SIGCHLD. FreeBSD 5.2.1 will let me do it if I use -lpthread instead of -lc_r. (Please CC me on any responses as I am not subscribed to standards@) Thanks, Logan Gabriel.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040706201547.F18570>