[lkml]   [2011]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[RFC PATCHSET] ptrace,signal: Fix notifications to the real parent while ptraced

    This patchset implements "P2. Fix notifications to the real parent" of
    the ptrace job control improvements proposal[1].

    As the whole job control / ptrace logic is quite delicate, I tried to
    be very granual with changes and add plenty of explanations for

    This patchset contains the following eight patches.


    0001-0003 fix subtle issues and prepare for wait(2) related changes.
    I don't think any of this needs to be backported. 0004 make the job
    control stopped/continued states visible to the real parent regardless
    of ptrace.

    0005-0006 prepare for notification related changes. 0007-0008 enable
    proper job control notifications to the real parent regardless of

    This patchset introduces behavior changes; however, all the changes
    are visible only to the real parent. As basically everything job
    control related was broken while ptraced, I don't think these changes
    need to be conditionalized (ie. enabled only when explicitly told so).
    Doing so is likely to only increase confusion with few benefits.

    After this patchset, I can ^Z a strace(1) attached command and get a
    shell prompt. The interaction of course is not perfect yet because
    strace(1) currently unconditionally overrides job control stop, but
    it's a progress. For strace(1) itself, nothing really changes.

    This patchset is based on 2.6.38-rc7 (212e3499b2) + "group stop /
    ptrace updates, take#2" patchset[2] which implements P1. The git
    branch for the P1 patchset has been regenerated with Oleg's Acked-by's
    added and available in ptrace-review-P1 branch.

    This patchset is available in the following git branch.

    git:// ptrace-review-P2

    HEAD is fbbe61c532ba23d2d00bff7c2b354e0522ae4afc. git.korg takes some
    time to sync so if it shows older commit, please try again after a
    while. diffstat follows.

    kernel/exit.c | 83 +++++++++++++++++++++++++++++++---------
    kernel/signal.c | 116 ++++++++++++++++++++++++++++++++++++++++++++++++++------
    2 files changed, 170 insertions(+), 29 deletions(-)




     \ /
      Last update: 2011-03-08 21:01    [W:0.021 / U:5.356 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site