summaryrefslogtreecommitdiff
path: root/proc.c
diff options
context:
space:
mode:
authorrtm <rtm>2006-08-29 17:01:40 +0000
committerrtm <rtm>2006-08-29 17:01:40 +0000
commit3b95801add8122af978f9c071d96e3f58acfd0cc (patch)
treed420064b82d469094294160eae2ad5325c45e3a2 /proc.c
parent2b19190c13a12b276ac5cd3a69187d2ab504f36e (diff)
downloadxv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.tar.gz
xv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.tar.bz2
xv6-labs-3b95801add8122af978f9c071d96e3f58acfd0cc.zip
i broke sbrk, fix it
Diffstat (limited to 'proc.c')
-rw-r--r--proc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/proc.c b/proc.c
index 81149d7..1d0917f 100644
--- a/proc.c
+++ b/proc.c
@@ -138,7 +138,7 @@ copyproc(struct proc* p)
return np;
}
-int
+uint
growproc(int n)
{
struct proc *cp = curproc[cpu()];
@@ -146,14 +146,14 @@ growproc(int n)
newmem = kalloc(cp->sz + n);
if(newmem == 0)
- return -1;
+ return 0xffffffff;
memmove(newmem, cp->mem, cp->sz);
memset(newmem + cp->sz, 0, n);
oldmem = cp->mem;
cp->mem = newmem;
kfree(oldmem, cp->sz);
cp->sz += n;
- return 0;
+ return cp->sz - n;
}
// Per-CPU process scheduler.