summaryrefslogtreecommitdiff
path: root/user/init.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2019-09-10 12:30:10 -0400
committerFrans Kaashoek <[email protected]>2019-09-10 12:30:10 -0400
commit7e6c37e67e6da62e02089fc3292569103b7e94b3 (patch)
tree8b3f2e762f1f0a32a4641d240d30b155af6ab34a /user/init.c
parent035cca95fe87c67ee1e33b9edfb2d87e24476fa8 (diff)
downloadxv6-labs-7e6c37e67e6da62e02089fc3292569103b7e94b3.tar.gz
xv6-labs-7e6c37e67e6da62e02089fc3292569103b7e94b3.tar.bz2
xv6-labs-7e6c37e67e6da62e02089fc3292569103b7e94b3.zip
Support exit status for exit/wait
One test case for returning a exit status Passes usertests, but haven't used it to simplify tests
Diffstat (limited to 'user/init.c')
-rw-r--r--user/init.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/user/init.c b/user/init.c
index 01bb445..e4e0316 100644
--- a/user/init.c
+++ b/user/init.c
@@ -24,14 +24,14 @@ main(void)
pid = fork();
if(pid < 0){
printf("init: fork failed\n");
- exit();
+ exit(-1);
}
if(pid == 0){
exec("sh", argv);
printf("init: exec sh failed\n");
- exit();
+ exit(-1);
}
- while((wpid=wait()) >= 0 && wpid != pid){
+ while((wpid=wait(0)) >= 0 && wpid != pid){
//printf("zombie!\n");
}
}