Home | History | Annotate | Download | only in linux-gnu

Lines Matching defs:pids

186 get_task_info(struct pid_set *pids, pid_t pid)
190 for (i = 0; i < pids->count; ++i)
191 if (pids->tasks[i].pid == pid)
192 return &pids->tasks[i];
198 add_task_info(struct pid_set *pids, pid_t pid)
200 if (pids->count == pids->alloc) {
201 size_t ns = (2 * pids->alloc) ?: 4;
202 struct pid_task *n = realloc(pids->tasks,
203 sizeof(*pids->tasks) * ns);
206 pids->tasks = n;
207 pids->alloc = ns;
209 struct pid_task * task_info = &pids->tasks[pids->count++];
244 struct pid_set *pids = data;
245 struct pid_task *task_info = get_task_info(pids, task->pid);
274 struct pid_set *pids = data;
277 struct pid_task *task_info = get_task_info(pids, task->pid);
279 task_info = add_task_info(pids, task->pid);
353 for (i = 0; i < self->pids.count; ++i)
354 if (self->pids.tasks[i].pid != 0
355 && (self->pids.tasks[i].delivered
356 || self->pids.tasks[i].sysret))
357 continue_process(self->pids.tasks[i].pid);
474 continue_for_sigstop_delivery(struct pid_set *pids)
477 for (i = 0; i < pids->count; ++i) {
478 if (pids->tasks[i].pid != 0
479 && pids->tasks[i].sigstopped
480 && !pids->tasks[i].delivered
481 && pids->tasks[i].got_event) {
483 pids->tasks[i].pid);
484 ptrace(PTRACE_SYSCALL, pids->tasks[i].pid, 0, 0);
504 await_sigstop_delivery(struct pid_set *pids, struct pid_task *task_info,
527 for (i = 0; i < pids->count; ++i)
528 if (pids->tasks[i].pid != 0
529 && pids->tasks[i].sigstopped
530 && !pids->tasks[i].delivered) {
541 all_stops_accountable(struct pid_set *pids)
544 for (i = 0; i < pids->count; ++i)
545 if (pids->tasks[i].pid != 0
546 && !pids->tasks[i].got_event
547 && !have_events_for(pids->tasks[i].pid))
650 continue_for_sigstop_delivery(&self->pids);
729 struct pid_task *task_info = get_task_info(&self->pids, task->pid);
757 &self->pids) == NULL) {
821 if (await_sigstop_delivery(&self->pids, task_info, event))
834 && all_stops_accountable(&self->pids)) {
853 free(self->pids.tasks);
895 &handler->pids) != NULL) {
941 struct pid_set pids;
955 struct pid_task *task_info = get_task_info(&self->pids, task->pid);
961 if (await_sigstop_delivery(&self->pids, task_info, event)
962 && all_stops_accountable(&self->pids))
977 free(self->pids.tasks);
1018 &handler->pids) != NULL)