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