diff options
Diffstat (limited to 'kernel/sysproc.c')
-rw-r--r-- | kernel/sysproc.c | 19 |
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); } |