summaryrefslogtreecommitdiff
path: root/user/sh.c
diff options
context:
space:
mode:
Diffstat (limited to 'user/sh.c')
-rw-r--r--user/sh.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/user/sh.c b/user/sh.c
index c573c99..74a493d 100644
--- a/user/sh.c
+++ b/user/sh.c
@@ -65,7 +65,7 @@ runcmd(struct cmd *cmd)
struct redircmd *rcmd;
if(cmd == 0)
- exit();
+ exit(-1);
switch(cmd->type){
default:
@@ -74,7 +74,7 @@ runcmd(struct cmd *cmd)
case EXEC:
ecmd = (struct execcmd*)cmd;
if(ecmd->argv[0] == 0)
- exit();
+ exit(-1);
exec(ecmd->argv[0], ecmd->argv);
fprintf(2, "exec %s failed\n", ecmd->argv[0]);
break;
@@ -84,7 +84,7 @@ runcmd(struct cmd *cmd)
close(rcmd->fd);
if(open(rcmd->file, rcmd->mode) < 0){
fprintf(2, "open %s failed\n", rcmd->file);
- exit();
+ exit(-1);
}
runcmd(rcmd->cmd);
break;
@@ -93,7 +93,7 @@ runcmd(struct cmd *cmd)
lcmd = (struct listcmd*)cmd;
if(fork1() == 0)
runcmd(lcmd->left);
- wait();
+ wait(0);
runcmd(lcmd->right);
break;
@@ -117,8 +117,8 @@ runcmd(struct cmd *cmd)
}
close(p[0]);
close(p[1]);
- wait();
- wait();
+ wait(0);
+ wait(0);
break;
case BACK:
@@ -127,7 +127,7 @@ runcmd(struct cmd *cmd)
runcmd(bcmd->cmd);
break;
}
- exit();
+ exit(0);
}
int
@@ -166,16 +166,16 @@ main(void)
}
if(fork1() == 0)
runcmd(parsecmd(buf));
- wait();
+ wait(0);
}
- exit();
+ exit(0);
}
void
panic(char *s)
{
fprintf(2, "%s\n", s);
- exit();
+ exit(-1);
}
int