summaryrefslogtreecommitdiff
path: root/devel/mit-pthreads
diff options
context:
space:
mode:
authorexplorer <explorer>1999-11-05 18:13:19 +0000
committerexplorer <explorer>1999-11-05 18:13:19 +0000
commitd7806c8c26084d16ac0498754e1b975c7fc0c06b (patch)
treea6593e51bcc852916c38ffdd936aadef5d452123 /devel/mit-pthreads
parent05d62300640d0b8b5b8f3ab46fe838888c3ccef5 (diff)
downloadpkgsrc-d7806c8c26084d16ac0498754e1b975c7fc0c06b.tar.gz
two fixes. One, context switch fix (sorta) and another obvious bug in call to pthread_sigmask()
Diffstat (limited to 'devel/mit-pthreads')
-rw-r--r--devel/mit-pthreads/files/patch-sum5
-rw-r--r--devel/mit-pthreads/patches/patch-bx12
-rw-r--r--devel/mit-pthreads/patches/patch-by23
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); */