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