xv6

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit dae9b0d48a94683c0a49e88e4b739482788d7175
parent 19333efb9eb634f17bea41d0cec8ee28c595cce8
Author: rsc <rsc>
Date:   Sun, 31 May 2009 00:31:20 +0000

missed this file in last checkin

Diffstat:
Msysproc.c | 7++++++-
1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/sysproc.c b/sysproc.c @@ -1,4 +1,5 @@ #include "types.h" +#include "x86.h" #include "defs.h" #include "param.h" #include "mmu.h" @@ -13,6 +14,9 @@ sys_fork(void) if((np = copyproc(cp)) == 0) return -1; pid = np->pid; + + // Clear %eax so that fork returns 0 in the child. + np->tf->eax = 0; np->state = RUNNABLE; return pid; } @@ -54,7 +58,8 @@ sys_sbrk(void) if(argint(0, &n) < 0) return -1; - if((addr = growproc(n)) < 0) + addr = cp->sz; + if(growproc(n) < 0) return -1; return addr; }