lkml.org 
[lkml]   [2011]   [Jun]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 6/7] ptrace: kill detah tracehooks
    Hey, Oleg.

    On Mon, Jun 20, 2011 at 09:39:29PM +0200, Oleg Nesterov wrote:
    > > - signal = tracehook_notify_death(tsk, &cookie, group_dead);
    > > - if (signal >= 0)
    > > - signal = do_notify_parent(tsk, signal);
    > > + /*
    > > + * Notify interested parent if the whole group is dead. Ptracer
    > > + * should always be notified. If something other than our normal
    > > + * parent is ptracing us, then send it a SIGCHLD instead of
    > > + * honoring exit_signal. exit_signal only has special meaning to
    > > + * our real parent.
    > > + */
    > > + if (!task_detached(tsk) && thread_group_empty(tsk)) {
    > > + if (!ptrace_reparented(tsk))
    > > + do_notify_parent(tsk, tsk->exit_signal);
    > > + else
    > > + do_notify_parent(tsk, SIGCHLD);
    >
    > Forget about ptrace, suppose a single threaded child exits and its
    > parent ignores SIGCHLD. In this case do_notify_parent() sets
    > exit_signal = -1 to mark it dead, we should set exit_state = EXIT_DEAD
    > and release it.

    Oops, right. Missed do_notify_parent() may modify exit_signal.
    Grumble. It seems you already have posted patches to address this
    one. Let's continue there.

    Thanks.

    --
    tejun


    \
     
     \ /
      Last update: 2011-06-23 11:27    [W:4.121 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site