提交 4bcd0f6a 创建 作者: rsc's avatar rsc

Add yield system call, for zombie test program (bad idea?).

上级 1b789e1d
......@@ -105,6 +105,7 @@ extern int sys_sbrk(void);
extern int sys_unlink(void);
extern int sys_wait(void);
extern int sys_write(void);
extern int sys_yield(void);
static int (*syscalls[])(void) = {
[SYS_chdir] sys_chdir,
......@@ -126,6 +127,7 @@ static int (*syscalls[])(void) = {
[SYS_unlink] sys_unlink,
[SYS_wait] sys_wait,
[SYS_write] sys_write,
[SYS_yield] sys_yield,
};
void
......
......@@ -18,3 +18,4 @@
#define SYS_dup 17
#define SYS_getpid 18
#define SYS_sbrk 19
#define SYS_yield 20
......@@ -68,3 +68,10 @@ sys_sbrk(void)
setupsegs(cp);
return addr;
}
int
sys_yield(void)
{
yield();
return 0;
}
......@@ -27,3 +27,4 @@ STUB(chdir)
STUB(dup)
STUB(getpid)
STUB(sbrk)
STUB(yield)
......@@ -7,6 +7,10 @@
int
main(void)
{
fork();
int i;
if(fork() > 0)
for(i=0; i<10; i++)
yield();
exit();
}
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论