CSDN博客

img love514425

fork()函数的主要实现(2)

发表于2008/10/1 2:07:00  327人阅读

 
  1. // 为新进程取得不重复的进程号last_pid,并返回在任务数组中的任务号(数组index)。
  2. int
  3. find_empty_process (void)
  4. {
  5.   int i;
  6. repeat:
  7.   if ((++last_pid) < 0)
  8.     last_pid = 1;
  9.   for (i = 0; i < NR_TASKS; i++)
  10.     if (task[i] && task[i]->pid == last_pid)
  11.       goto repeat;
  12.   for (i = 1; i < NR_TASKS; i++)    // 任务0 排除在外。
  13.     if (!task[i])
  14.       return i;
  15.   return -EAGAIN;
  16. }
阅读全文
0 0

相关文章推荐

img
取 消
img