提交 dae9b0d4 创建 作者: rsc's avatar rsc

missed this file in last checkin

上级 19333efb
#include "types.h" #include "types.h"
#include "x86.h"
#include "defs.h" #include "defs.h"
#include "param.h" #include "param.h"
#include "mmu.h" #include "mmu.h"
...@@ -13,6 +14,9 @@ sys_fork(void) ...@@ -13,6 +14,9 @@ sys_fork(void)
if((np = copyproc(cp)) == 0) if((np = copyproc(cp)) == 0)
return -1; return -1;
pid = np->pid; pid = np->pid;
// Clear %eax so that fork returns 0 in the child.
np->tf->eax = 0;
np->state = RUNNABLE; np->state = RUNNABLE;
return pid; return pid;
} }
...@@ -54,7 +58,8 @@ sys_sbrk(void) ...@@ -54,7 +58,8 @@ sys_sbrk(void)
if(argint(0, &n) < 0) if(argint(0, &n) < 0)
return -1; return -1;
if((addr = growproc(n)) < 0) addr = cp->sz;
if(growproc(n) < 0)
return -1; return -1;
return addr; return addr;
} }
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论