[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.198 / U:4.140 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site