threads/94176: KSE: sigwait doesn't recieve SIGWINCH sent by pthread_kill() or kill -WINCH

eugeny gladkih john at drweb.com
Thu Apr 27 18:48:14 UTC 2006


>>>>> "DE" == Daniel Eischen <deischen at freebsd.org> writes:

 AG> maybe it would be beneficial to the general programmer public to add
 AG> something similar to the NOTES section of the following man page to our
 AG> man page for sigwait:
 AG> http://condor.wesleyan.edu/cgi-bin/man.cgi?section=2&topic=sigwait
 >> 
 AG> Using the original example, it would mean adding something like the
 AG> following code to get the desired behavior:
 >> 
 AG> void dummy_handler(int signum)
 AG> {
 AG> return;
 AG> }
 >> 
 AG> void *thread(void* unused) {
 AG> struct sigaction sa;
 AG> sa.sa_handler = dummy_handler;
 AG> sigemptyset(&sa.sa_mask);
 AG> sa.sa_flags = 0;
 AG> sigaction(SIGWINCH, &sa, NULL);
 AG> .
 AG> .
 AG> .
 >> 
 >> 
 >> why so stupid code should be presented in all software wanted
 >> just to wait the signal? :(

 DE> Why so stupid programs be written to expect non-portable and
 DE> non-POSIX behavior?

 DE> Seriously, go read the POSIX spec.  Then try your assumptions
 DE> on Solaris where it exhibits the same behavior as FreeBSD
 DE> with regard to SIGWINCH (or any other ignored signal).

no, Solaris & Linux go the right way, this code are used on them
both, and AIX, too. and even FreeBSD 4.x and 5.X with
libc_r. your comments?

-- 
Yours sincerely, Eugeny.
Doctor Web, Ltd. http://www.drweb.com


More information about the freebsd-threads mailing list