From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12185 invoked by alias); 18 Mar 2008 12:17:31 -0000 Received: (qmail 12171 invoked by uid 22791); 18 Mar 2008 12:17:30 -0000 X-Spam-Status: No, hits=-1.8 required=5.0 tests=AWL,BAYES_00,J_CHICKENPOX_34 X-Spam-Check-By: sourceware.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (83.160.170.119) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 18 Mar 2008 12:17:12 +0000 Received: from dijkstra.wildebeest.org ([192.168.1.29]) by gnu.wildebeest.org with esmtp (Exim 4.63) (envelope-from ) id 1Jbakf-0007su-QG; Tue, 18 Mar 2008 13:17:10 +0100 Subject: Re: [SCM] master: Always handle terminated events. From: Mark Wielaard To: frysk@sourceware.org Cc: Andrew Cagney In-Reply-To: <20080318024714.22518.qmail@sourceware.org> References: <20080318024714.22518.qmail@sourceware.org> Content-Type: text/plain Date: Tue, 18 Mar 2008 12:17:00 -0000 Message-Id: <1205842629.3390.45.camel@dijkstra.wildebeest.org> Mime-Version: 1.0 X-Mailer: Evolution 2.12.3 (2.12.3-3.fc8) Content-Transfer-Encoding: 7bit X-Spam-Score: -4.4 (----) X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00159.txt.bz2 Hi Andrew, On Tue, 2008-03-18 at 02:47 +0000, cagney@sourceware.org wrote: > commit dce689bb1f007f71609d223f8640332591297c8d > Author: Andrew Cagney > Date: Mon Mar 17 22:45:05 2008 -0400 > > Always handle terminated events. > > frysk-core/frysk/proc/ChangeLog > 2008-03-17 Andrew Cagney > > * TestTaskObserver.java (attachDieingTask(int,boolean)): Do not > check attached count. > > frysk-core/frysk/proc/live/ChangeLog > 2008-03-17 Andrew Cagney > > * LinuxPtraceTaskState.java (getDestroyed): Delete. > (handleDisappearedEvent(LinuxPtraceTask)): Delete. > (handleTerminatedEvent(LinuxPtraceTask,Signal,int)): Make > abstract; implement in all sub-classes. > * LinuxPtraceTask.java (processClonedEvent(LinuxPtraceTask)): > Catch Errno.Esrch. > > frysk-sys/frysk/rsl/ChangeLog > 2008-03-17 Andrew Cagney > > * Log.java (log(String,Object,String,Object,String,int)): New. This is an interesting hack to get around some of the nasty terminated process corner cases. But a couple of questions. Why don't you push the event on the queue? Currently you need to disable some double state transition sanity checks because you are directly calling handle event methods directly. And what if one of the event handlers already processes an Errno itself so you won't see it? Cheers, Mark