summaryrefslogtreecommitdiff
path: root/kernel/sysproc.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sysproc.c')
-rw-r--r--kernel/sysproc.c19
1 files changed, 7 insertions, 12 deletions
diff --git a/kernel/sysproc.c b/kernel/sysproc.c
index 8ca45ba..1de184e 100644
--- a/kernel/sysproc.c
+++ b/kernel/sysproc.c
@@ -10,8 +10,7 @@ uint64
sys_exit(void)
{
int n;
- if(argint(0, &n) < 0)
- return -1;
+ argint(0, &n);
exit(n);
return 0; // not reached
}
@@ -32,19 +31,17 @@ uint64
sys_wait(void)
{
uint64 p;
- if(argaddr(0, &p) < 0)
- return -1;
+ argaddr(0, &p);
return wait(p);
}
uint64
sys_sbrk(void)
{
- int addr;
+ uint64 addr;
int n;
- if(argint(0, &n) < 0)
- return -1;
+ argint(0, &n);
addr = myproc()->sz;
if(growproc(n) < 0)
return -1;
@@ -57,12 +54,11 @@ sys_sleep(void)
int n;
uint ticks0;
- if(argint(0, &n) < 0)
- return -1;
+ argint(0, &n);
acquire(&tickslock);
ticks0 = ticks;
while(ticks - ticks0 < n){
- if(myproc()->killed){
+ if(killed(myproc())){
release(&tickslock);
return -1;
}
@@ -77,8 +73,7 @@ sys_kill(void)
{
int pid;
- if(argint(0, &pid) < 0)
- return -1;
+ argint(0, &pid);
return kill(pid);
}