summaryrefslogtreecommitdiff
path: root/kernel/sysproc.c
diff options
context:
space:
mode:
authorFrans Kaashoek <[email protected]>2022-08-23 11:01:06 -0400
committerFrans Kaashoek <[email protected]>2022-08-23 11:01:06 -0400
commitccb7bd14c7303a77f8f99928e2297ddd815674b1 (patch)
treeac9fc9f6773c87d5adc8ded3bc8bc3a0145e85cd /kernel/sysproc.c
parent4cd4d194b8827af4971a81ad28968499925f884f (diff)
parent8621be8f3d105cd73ffbc681f9810d04b083b0ae (diff)
downloadxv6-labs-ccb7bd14c7303a77f8f99928e2297ddd815674b1.tar.gz
xv6-labs-ccb7bd14c7303a77f8f99928e2297ddd815674b1.tar.bz2
xv6-labs-ccb7bd14c7303a77f8f99928e2297ddd815674b1.zip
Merge branch 'riscv' into uvm-perm
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);
}