From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3969 invoked by alias); 14 Mar 2008 16:36:01 -0000 Received: (qmail 3933 invoked by uid 367); 14 Mar 2008 16:36:01 -0000 Date: Fri, 14 Mar 2008 16:36:00 -0000 Message-ID: <20080314163601.3917.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Eliminate second last use of observableProcRemovedXXX. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 9661b5745777c3085edd270449c255a1466ebfb0 X-Git-Newrev: eb68a3add536b67c08e3bf5f33ee35437bd9a3b3 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q1/txt/msg00368.txt.bz2 The branch, master has been updated via eb68a3add536b67c08e3bf5f33ee35437bd9a3b3 (commit) from 9661b5745777c3085edd270449c255a1466ebfb0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit eb68a3add536b67c08e3bf5f33ee35437bd9a3b3 Author: Andrew Cagney Date: Fri Mar 14 12:35:07 2008 -0400 Eliminate second last use of observableProcRemovedXXX. frysk-core/frysk/ftrace/ChangeLog 2008-03-14 Andrew Cagney * Ftrace.java (ProcRemovedObserver): Re-implement as a Terminated observer. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/ftrace/ChangeLog | 5 ++++ frysk-core/frysk/ftrace/Ftrace.java | 36 +++++++++++++++++----------------- 2 files changed, 23 insertions(+), 18 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/ftrace/ChangeLog b/frysk-core/frysk/ftrace/ChangeLog index 7f65642..cf76d7c 100644 --- a/frysk-core/frysk/ftrace/ChangeLog +++ b/frysk-core/frysk/ftrace/ChangeLog @@ -1,3 +1,8 @@ +2008-03-14 Andrew Cagney + + * Ftrace.java (ProcRemovedObserver): Re-implement as a Terminated + observer. + 2008-03-12 Andrew Cagney * TestMappingGuard.java: Use StopEventLoopWhenProcTerminated. diff --git a/frysk-core/frysk/ftrace/Ftrace.java b/frysk-core/frysk/ftrace/Ftrace.java index 545ecb9..bb53b21 100644 --- a/frysk-core/frysk/ftrace/Ftrace.java +++ b/frysk-core/frysk/ftrace/Ftrace.java @@ -37,7 +37,6 @@ // version and license this file solely under the GPL without // exception. - package frysk.ftrace; import frysk.proc.Action; @@ -53,11 +52,10 @@ import inua.util.PrintWriter; import java.util.HashMap; import java.util.HashSet; import java.util.Map; -import java.util.Observable; -import java.util.Observer; import java.util.Set; import java.util.Iterator; -import java.util.logging.*; +import java.util.logging.Logger; +import java.util.logging.Level; public class Ftrace { @@ -265,7 +263,8 @@ public class Ftrace observationRequested(task); } - Manager.host.observableProcRemovedXXX.addObserver(new ProcRemovedObserver(proc)); + new ProcRemovedObserver(proc); + reporter.eventSingle(task, "attached " + proc.getExe()); ++numProcesses; } @@ -374,26 +373,27 @@ public class Ftrace /** - * An observer to stop the eventloop when the traced process exits. + * An observer to stop the eventloop when the traced process + * exits. */ private class ProcRemovedObserver - implements Observer + implements TaskObserver.Terminated { - int pid; - ProcRemovedObserver (Proc proc) { - this.pid = proc.getPid(); + proc.getMainTask().requestAddTerminatedObserver(this); } - public void update (Observable o, Object object) { - Proc proc = (Proc) object; - if (proc.getPid() == this.pid) { - synchronized (Ftrace.this) { - --numProcesses; - if (numProcesses == 0) - Manager.eventLoop.requestStop(); - } + public void addedTo (Object observable) {} + public void addFailed (Object observable, Throwable arg1) {} + public void deletedFrom (Object observable) {} + + public Action updateTerminated(Task task, Signal signal, int status) { + synchronized (Ftrace.this) { + --numProcesses; + if (numProcesses == 0) + Manager.eventLoop.requestStop(); } + return Action.CONTINUE; } } hooks/post-receive -- frysk system monitor/debugger