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

来源:互联网 发布:python condition 编辑:程序博客网 时间:2024/06/03 18:04
 
  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. }
原创粉丝点击