> Heh. You are right, the current kernel has the same (minor) bug.I have a regression test program for that (the one I sent you). I've done a fix as a follow-on patch. (Yes!) Ah, thanks for that. I wrote a regression test program for this case that worked before and fails with my last version of the patch. I've fixed my new code so it passes again. I'm pretty sure it doesn't matter in real life. I doubt whoever uses __WNOTHREAD was relying on seeing some other thread's reparented children. TBH, I don't care much about __WNOTHREAD and I don't know off hand of anything that actually uses it. OTOH, an extra wakeup on wait_chldexit is always harmless. And for pure anality, it seems proper to maintain the invariant that do_wait() wakes up promptly whenever interrupting and restarting it would complete without blocking. But, we don't get that wakeup now and noone has complained, so all in all, I'm inclined to leave it as it is. I've put the latest tweaked version of this same patch series at: http://people.redhat.com/roland/kernel-patches/ptrace-cleanup.mbox That adds a fourth patch that fixes the aforementioned bug case that the current canonical kernel gets wrong. I think that fix also incidentally covered the init-ignores-SIGCHLD case, but I didn't test that and I'm not really positive. I'm working on a variant of the ptrace revamp where all ptrace'd tasks go on a list (whether natural children or not). (This was my original intent, but then I thought it might be more complication and change that way. Now it's seeming attractive again.) I tend towards this approach aesthetically because it makes ptrace bookkeeping more consistent across all kinds of tracees. For the cases we've been talking about, it means ptrace_exit() would take care of zombies kept alive by ptrace uniformly before we get to the reparent_thread loop. This means the init case is separate and needs a separate fix, but that kind of seems cleaner. When I get the variant patch working, we can see which one looks best. I'd like your opinion on that. Thanks, Roland --
| Greg Kroah-Hartman | [PATCH 001/196] Chinese: Add the known_regression URI to the HOWTO |
| Cabot, Mason B | Ext3 vs NTFS performance |
| david | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Alan Cox | [PATCH 00/76] Queued TTY Patches |
git: | |
| Nguyen Thai Ngoc Duy | Re: VCS comparison table |
| Ken Pratt | Re: pack operation is thrashing my server |
| Wink Saville | Using git with Eclipse |
| Bill Lear | Meaning of "fatal: protocol error: bad line length character"? |
| Steve Shockley | Re: Real men don't attack straw men |
| Mayuresh Kathe | Re: What is our ultimate goal?? |
| frantisek holop | booting openbsd on eee without cd-rom |
| Didier Wiroth | how can I "find xyz | xargs tar" ... like gtar |
| David Miller | [GIT]: Networking |
| Sven Wegener | [PATCH 2/5] ipvs: Use ERR_PTR for returning errors from make_receive_sock() and ma... |
| Ingo Molnar | Re: [bug, netconsole, SLUB] BUG skbuff_head_cache: Poison overwritten |
| Herbert Xu | Re: [PATCH 2/3] [UDP]: Restore missing inDatagrams increments |
