More consistent use of _exits and exits
in place of _exit and exit.
diff --git a/src/libthread/exit.c b/src/libthread/exit.c
index cf34c60..f3d4bb8 100644
--- a/src/libthread/exit.c
+++ b/src/libthread/exit.c
@@ -61,7 +61,7 @@
 	}
 
 	/* leave */
-	exit(0);
+	exits(0);
 }
 
 Channel*
diff --git a/src/libthread/main.c b/src/libthread/main.c
index ce810db..0a2fccb 100644
--- a/src/libthread/main.c
+++ b/src/libthread/main.c
@@ -29,7 +29,7 @@
 	USED(x);
 
 	if(_threadexitsallstatus)
-		_exit(_threadexitsallstatus[0] ? 1 : 0);
+		_exits(_threadexitsallstatus);
 }
 
 int
@@ -109,7 +109,7 @@
 	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 cfc76d6..df8014b 100644
--- a/src/libthread/sched.c
+++ b/src/libthread/sched.c
@@ -38,7 +38,7 @@
 		;
 	_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 @@
 		unlock(&p->readylock);
 		while(rendezvous((ulong)q, 0) == ~0){
 			if(_threadexitsallstatus)
-				exits(_threadexitsallstatus);
+				_exits(_threadexitsallstatus);
 		}
 		/* lock picked up from _threadready */
 	}
@@ -249,7 +249,7 @@
 		_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);