Lines Matching refs:pid_list
116 static struct proc_status *pid_list = (struct proc_status *)NULL;
157 pid_list = (struct proc_status *)xrealloc (pid_list, pid_list_size * sizeof (struct proc_status));
161 pid_list[i].pid = NO_PID;
172 if (pid_list[i].pid == NO_PID)
190 if (pid_list[i].pid == pid)
207 if (pid_list[i].flags & PROC_RUNNING)
209 return (pid_list[i].status);
233 if (pid_list[i].flags & PROC_RUNNING)
235 return (get_termsig (pid_list[i].status));
263 pid_list[slot].status = process_exit_status (status);
264 pid_list[slot].flags &= ~PROC_RUNNING;
266 pid_list[slot].flags |= PROC_SIGNALED;
269 if ((pid_list[slot].flags & PROC_ASYNC) == 0)
270 pid_list[slot].flags |= PROC_NOTIFIED;
285 pid_list[slot].flags |= flags;
300 pid_list[slot].flags &= ~flags;
314 return (pid_list[slot].flags);
326 pid_list[slot].pid = pid;
327 pid_list[slot].status = -1;
328 pid_list[slot].flags = PROC_RUNNING;
330 pid_list[slot].flags |= PROC_ASYNC;
342 if (pid_list[i].pid == NO_PID)
344 if (((pid_list[i].flags & PROC_RUNNING) == 0) &&
345 (pid_list[i].flags & PROC_ASYNC))
361 if (pid_list[i].pid == NO_PID)
363 if (((pid_list[i].flags & PROC_RUNNING) == 0) &&
364 pid_list[i].pid != last_asynchronous_pid)
366 pid_list[i].flags |= PROC_NOTIFIED;
367 if (force == 0 && (pid_list[i].flags & PROC_ASYNC) && --ndead <= child_max)
373 /* Remove all dead, notified jobs from the pid_list. */
385 if ((pid_list[i].flags & PROC_RUNNING) == 0 &&
386 (pid_list[i].flags & PROC_NOTIFIED))
387 pid_list[i].pid = NO_PID;