diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libthread/exit.c | 2 | ||||
-rw-r--r-- | src/libthread/main.c | 4 | ||||
-rw-r--r-- | src/libthread/sched.c | 6 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/libthread/exit.c b/src/libthread/exit.c index cf34c60c..f3d4bb8e 100644 --- a/src/libthread/exit.c +++ b/src/libthread/exit.c @@ -61,7 +61,7 @@ threadexitsall(char *exitstr) } /* leave */ - exit(0); + exits(0); } Channel* diff --git a/src/libthread/main.c b/src/libthread/main.c index ce810dba..0a2fccb7 100644 --- a/src/libthread/main.c +++ b/src/libthread/main.c @@ -29,7 +29,7 @@ _threaddie(int x) USED(x); if(_threadexitsallstatus) - _exit(_threadexitsallstatus[0] ? 1 : 0); + _exits(_threadexitsallstatus); } int @@ -109,7 +109,7 @@ _schedexit(Proc *p) strncpy(ex, p->exitstr, sizeof ex); ex[sizeof ex-1] = '\0'; free(p); - _exit(ex[0]); + _exits(ex); } int diff --git a/src/libthread/sched.c b/src/libthread/sched.c index cfc76d67..df8014b6 100644 --- a/src/libthread/sched.c +++ b/src/libthread/sched.c @@ -38,7 +38,7 @@ _schedinit(void *arg) ; _threaddebug(DBGSCHED, "top of schedinit, _threadexitsallstatus=%p", _threadexitsallstatus); if(_threadexitsallstatus) - exits(_threadexitsallstatus); + _exits(_threadexitsallstatus); lock(&p->lock); if((t=p->thread) != nil){ p->thread = nil; @@ -149,7 +149,7 @@ relock: unlock(&p->readylock); while(rendezvous((ulong)q, 0) == ~0){ if(_threadexitsallstatus) - exits(_threadexitsallstatus); + _exits(_threadexitsallstatus); } /* lock picked up from _threadready */ } @@ -249,7 +249,7 @@ _threadready(Thread *t) _threaddebug(DBGSCHED, "waking process %d", t->proc->pid); while(rendezvous((ulong)q, 0) == ~0){ if(_threadexitsallstatus) - exits(_threadexitsallstatus); + _exits(_threadexitsallstatus); } }else unlock(&t->proc->readylock); |