summaryrefslogtreecommitdiff
path: root/devel/libcii/files/patch-src_thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'devel/libcii/files/patch-src_thread.c')
-rw-r--r--devel/libcii/files/patch-src_thread.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/devel/libcii/files/patch-src_thread.c b/devel/libcii/files/patch-src_thread.c
new file mode 100644
index 000000000000..d8b798e329d0
--- /dev/null
+++ b/devel/libcii/files/patch-src_thread.c
@@ -0,0 +1,37 @@
+--- src/thread.c.orig Wed Nov 5 22:03:00 1997
++++ src/thread.c Sun Jan 30 18:09:03 2000
+@@ -118,7 +118,7 @@
+ && scp->sc_pc <= (unsigned long)_ENDMONITOR)
+ return 0;
+ put(current, &ready);
+- sigsetmask(scp->sc_mask);
++ sigprocmask(SIG_SETMASK, NULL, &(scp->sc_mask));
+ run();
+ return 0;
+ }
+@@ -243,13 +243,13 @@
+ critical--; } while (0);
+ args = t->sp;
+ }
+-#if alpha
+- { extern void _start(void);
++#if __alpha
++ { extern void _thrstart(void);
+ t->sp -= 112/8;
+ t->sp[(48+24)/8] = (unsigned long)Thread_exit;
+ t->sp[(48+16)/8] = (unsigned long)args;
+ t->sp[(48+ 8)/8] = (unsigned long)apply;
+- t->sp[(48+ 0)/8] = (unsigned long)_start; }
++ t->sp[(48+ 0)/8] = (unsigned long)_thrstart; }
+ #elif mips
+ { extern void _start(void);
+ t->sp -= 16/4;
+@@ -269,7 +269,7 @@
+ *--t->sp = (unsigned long)_start - 8;
+ *--t->sp = (unsigned long)fp;
+ t->sp -= 64/4; }
+-#elif linux && i386
++#elif (linux || unix) && i386
+ { extern void _thrstart(void);
+ t->sp -= 4/4;
+ *t->sp = (unsigned long)_thrstart;