Date: Thu, 8 Oct 2009 11:53:21 +1100 From: Stephen Hocking <stephen.hocking@gmail.com> To: ports@freebsd.org Subject: sigwait - differences between Linux & FreeBSD Message-ID: <6300771b0910071753s6580c099i8c348824a6fe1a72@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi all, In my efforts to make the xrdp port more robust under FreeBSD, I have discovered that sigwait (kind of an analogue to select(2), but for signals rather than I/O) re-enables ignored signals in its list under Linux, but not FreeBSD. The sesman daemon uses SIGCHLD to clean up after a session has exited. Under Linux this works OK, under FreeSBD it doesn't. I have worked around it in a very hackish manner (define a dummy signal handler and enable it using signal, which means that the sigwait call can then be unblocked by it), but am wondering if anyone else has run across the same problem, and if so, if they fixed it in an elegant manner. Also, does anyone know the correct semantics of sigwait under this situation? Stephen
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6300771b0910071753s6580c099i8c348824a6fe1a72>