diff options
author | rtm <rtm> | 2006-08-29 17:01:40 +0000 |
---|---|---|
committer | rtm <rtm> | 2006-08-29 17:01:40 +0000 |
commit | 3b95801add8122af978f9c071d96e3f58acfd0cc (patch) | |
tree | d420064b82d469094294160eae2ad5325c45e3a2 /syscall.c | |
parent | 2b19190c13a12b276ac5cd3a69187d2ab504f36e (diff) | |
download | xv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.tar.gz xv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.tar.bz2 xv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.zip |
i broke sbrk, fix it
Diffstat (limited to 'syscall.c')
-rw-r--r-- | syscall.c | 5 |
1 files changed, 3 insertions, 2 deletions
@@ -473,15 +473,16 @@ sys_getpid(void) int sys_sbrk(void) { + unsigned addr; int n; struct proc *cp = curproc[cpu()]; if(fetcharg(0, &n) < 0) return -1; - if(growproc(n) != 0) + if((addr = growproc(n)) == 0xffffffff) return -1; setupsegs(cp); - return 0; + return addr; } int |