diff options
author | explorer <explorer@pkgsrc.org> | 1999-11-05 18:13:19 +0000 |
---|---|---|
committer | explorer <explorer@pkgsrc.org> | 1999-11-05 18:13:19 +0000 |
commit | af82b1b73634b5d404b326230d0850a2be155807 (patch) | |
tree | a6593e51bcc852916c38ffdd936aadef5d452123 /devel | |
parent | 6731ad2210606f9731a6ac4afa0b973a5f75974f (diff) | |
download | pkgsrc-af82b1b73634b5d404b326230d0850a2be155807.tar.gz |
two fixes. One, context switch fix (sorta) and another obvious bug in call to pthread_sigmask()
Diffstat (limited to 'devel')
-rw-r--r-- | devel/mit-pthreads/files/patch-sum | 5 | ||||
-rw-r--r-- | devel/mit-pthreads/patches/patch-bx | 12 | ||||
-rw-r--r-- | devel/mit-pthreads/patches/patch-by | 23 |
3 files changed, 38 insertions, 2 deletions
diff --git a/devel/mit-pthreads/files/patch-sum b/devel/mit-pthreads/files/patch-sum index c19f5ea7799..9928be60aa0 100644 --- a/devel/mit-pthreads/files/patch-sum +++ b/devel/mit-pthreads/files/patch-sum @@ -1,4 +1,4 @@ -$NetBSD: patch-sum,v 1.9 1999/11/05 17:50:54 explorer Exp $ +$NetBSD: patch-sum,v 1.10 1999/11/05 18:13:19 explorer Exp $ MD5 (patch-aa) = 5af930f67e251f5eb89b5414426d2396 MD5 (patch-ab) = 9bb4e83bd91f0159a522d8bfbba89362 @@ -27,7 +27,6 @@ MD5 (patch-ay) = 68b81aa057c23a8de348ff03515bcfdc MD5 (patch-az) = 1a68532bbf03fb7262956c3f46315e16 MD5 (patch-ba) = 7a335b99a118ab98df7030cd249f012f MD5 (patch-bb) = d37c74abb65b41601c650c3f561682c2 -MD5 (patch-bc) = f873aa6a4de94ccc06924bff20b17e3b MD5 (patch-bd) = b432b03bd8322e5c7435981c51ec9e07 MD5 (patch-be) = 30721841882442e1882894c5dd9354f0 MD5 (patch-bf) = a26dbc7a8b143c9869676da136e0e4db @@ -48,3 +47,5 @@ MD5 (patch-bt) = f443a571be99e31532d1e3f00c56b55c MD5 (patch-bu) = b15af40413216738310d91d323ff8bb5 MD5 (patch-bv) = ae924e0ad45db5f5c004c75fa78393b7 MD5 (patch-bw) = 66a0952c1c4fe77b7d541d741b0af361 +MD5 (patch-bx) = 9c41bd8286902aae1bc4e610c8617c6c +MD5 (patch-by) = d7a2a04c6607297c31dfa620e1c65f39 diff --git a/devel/mit-pthreads/patches/patch-bx b/devel/mit-pthreads/patches/patch-bx new file mode 100644 index 00000000000..370f86bbd17 --- /dev/null +++ b/devel/mit-pthreads/patches/patch-bx @@ -0,0 +1,12 @@ +diff -ur /usr/pkgsrc/devel/mit-pthreads/work/pthreads-1_60_beta6/stdlib/system.c pmpthreads-1.8.7/stdlib/system.c +--- /usr/pkgsrc/devel/mit-pthreads/work/pthreads-1_60_beta6/stdlib/system.c Wed Apr 24 20:18:56 1996 ++++ pmpthreads-1.8.7/stdlib/system.c Thu Nov 13 11:27:43 1997 +@@ -62,7 +62,7 @@ + argp[2] = (char *) command; + sigemptyset(&tmp_mask); + sigaddset(&tmp_mask, SIGCHLD); +- pthread_sigmask(SIG_BLOCK, tmp_mask, &old_mask); ++ pthread_sigmask(SIG_BLOCK, &tmp_mask, &old_mask); + switch(pid = fork()) { + case -1: /* error */ + (void)pthread_sigmask(SIG_SETMASK, &old_mask, NULL); diff --git a/devel/mit-pthreads/patches/patch-by b/devel/mit-pthreads/patches/patch-by new file mode 100644 index 00000000000..6a2b0ad7f46 --- /dev/null +++ b/devel/mit-pthreads/patches/patch-by @@ -0,0 +1,23 @@ +--- pthreads/signal.c Tue Mar 12 20:33:17 1996 ++++ pthreads/signal.c Thu Nov 4 13:17:26 1999 +@@ -303,9 +303,17 @@ + break; + case NOTOK: + /* Do the registered action, no threads were sleeping */ +- sigdefault(sig); +- break; +- } ++ /* There is a timing window that gets ++ * here when no threads are on the ++ * sleep queue. This is a quick fix. ++ * The real problem is possibly related ++ * to heavy use of condition variables ++ * with time outs. ++ * (mevans) ++ *sigdefault(sig); ++ */ ++ break; ++ } + break; + case SIGCHLD: + /* sigdelset((sigset_t *)&sig_to_process, SIGCHLD); */ |