summaryrefslogtreecommitdiff
path: root/init.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-08-29 19:06:37 +0000
committerrtm <rtm>2006-08-29 19:06:37 +0000
commitdfcc5b997ce9c313b9ac0e7d8da39c4416b472a8 (patch)
tree2d6c4e47bad6cfe7436896068a5872ace545a974 /init.c
parentd7ce6545e7179e9a4b950838c354b485e3f3fdb8 (diff)
downloadxv6-labs-dfcc5b997ce9c313b9ac0e7d8da39c4416b472a8.tar.gz
xv6-labs-dfcc5b997ce9c313b9ac0e7d8da39c4416b472a8.tar.bz2
xv6-labs-dfcc5b997ce9c313b9ac0e7d8da39c4416b472a8.zip
prune unneeded panics and debug output
Diffstat (limited to 'init.c')
-rw-r--r--init.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/init.c b/init.c
index 5e387a8..359f1fb 100644
--- a/init.c
+++ b/init.c
@@ -13,20 +13,25 @@ main(void)
{
int pid;
- if(open("console", 0) < 0){
+ if(open("console", O_RDWR) < 0){
mknod("console", T_DEV, 1, 1);
- open("console", 0);
+ open("console", O_RDWR);
}
- open("console", 1);
- open("console", 1);
+ dup(0);
+ dup(0);
while(1){
pid = fork();
+ if(pid < 0){
+ puts("init: fork failed\n");
+ exit();
+ }
if(pid == 0){
exec("sh", sh_args);
+ puts("init: exec sh failed\n");
exit();
- }
- if(pid > 0)
+ } else {
wait();
+ }
}
}