lkml.org 
[lkml]   [2008]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/2] ptrace children revamp
I didn't read the patch yet (will do), just a minor nit right now,

On 03/28, Roland McGrath wrote:
>
> @@ -1528,19 +1534,11 @@ static int do_wait_thread(struct task_struct *tsk, int *retval,
> return 1;
> }
>
> - /*
> - * If we never saw an eligile child, check for children stolen by
> - * ptrace. We don't leave -ECHILD in *@retval if there are any,
> - * because we will eventually be allowed to wait for them again.
> - */
> - if (*retval)
> - list_for_each_entry(p, &tsk->ptrace_children, ptrace_list) {
> - int ret = eligible_child(type, pid, options, p);
> - if (ret) {
> - *retval = unlikely(ret < 0) ? ret : 0;
> - break;
> - }
> - }
> + list_for_each_entry(p, &tsk->ptrace_attach, ptrace_list) {
> + if (wait_consider_task(tsk, p, retval, type, pid, options,
> + infop, stat_addr, ru))
> + return 1;
> + }

Afaics, this adds a minor pessimization. We shouldn't scan ->ptrace_attach
list if it was already found that another thread has a "hidden" task.

Oleg.



\
 
 \ /
  Last update: 2008-03-29 11:43    [from the cache]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and my Meterkast|Read the blog