Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Mon, 19 Aug 2002 17:23:30 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Mon, 19 Aug 2002 17:23:30 -0400 Received: from neon-gw-l3.transmeta.com ([63.209.4.196]:26636 "EHLO neon-gw.transmeta.com") by vger.kernel.org with ESMTP id ; Mon, 19 Aug 2002 17:23:29 -0400 Date: Mon, 19 Aug 2002 14:29:08 -0700 (PDT) From: Linus Torvalds To: Ingo Molnar cc: Dave McCracken , Subject: Re: [patch] O(1) sys_exit(), threading, scalable-exit-2.5.31-A6 In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 980 Lines: 26 On Mon, 19 Aug 2002, Ingo Molnar wrote: > > the problem is that the debugger wants to do a wait4 as well, to receive > the SIGSTOP result. Now if the original parent 'steals' the wait4 result, > what will happen? If a child has a debugger, it clearly is never "stopped" or "zombie" as far as the parent is concerned, so the parent should either block, or it should return -EAGAIN. > this whole mess can only be fixed by decoupling the ptrace() mechanism > from signals and wait4 completely No, you only need to make debugged children slightly pecial in wait4(), in that the parent must never see their state, only the fact that they are there (as if they were still running, in short, regardless of their _real_ state) Linus - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/