diff options
Diffstat (limited to 'devel/libcii/files/patch-src_thread.c')
-rw-r--r-- | devel/libcii/files/patch-src_thread.c | 37 |
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; |