Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc
Module Name: pkgsrc
Committed By: explorer
Date: Sat Nov 6 07:37:35 UTC 1999
Modified Files:
pkgsrc/devel/mit-pthreads: Makefile
Log Message:
Fix a rather nasty problem with signals, namely SIGCHLD, that prevented
running threaded binaries if SIGCHLD was set to SIG_IGN. What happens is
that pthreads uses either sigaction() or signal() to set up signals when
switching thread state. It used HAVE_SYSCALL_SIGACTION to decide which to
use. But, while we have a FUNCTION called sigaction(), the syscall is
__sigaction14, which caused HAVE_SYSCALL_SIGACTION to not be defined.
This would have been ok if the pthread kernel didn't assume signal would
return 0 for success and non-zero for failure. Signal() returns the
previous handler. SIG_IGN != 0, so pthreads thought the call failed.
Resulting in a call to abort().
To generate a diff of this commit:
cvs rdiff -r1.22 -r1.23 pkgsrc/devel/mit-pthreads/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index