From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27350 invoked by alias); 17 Mar 2008 19:53:01 -0000 Received: (qmail 27319 invoked by uid 367); 17 Mar 2008 19:53:00 -0000 Date: Mon, 17 Mar 2008 19:53:00 -0000 Message-ID: <20080317195300.27304.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Split out ProcBlockObserver. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 78f5d94e36c76819fb26e2bec7a77e6e3f41a2d4 X-Git-Newrev: 3261c7e22b9080f70d315cd18557906415a86646 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/msg00392.txt.bz2 The branch, master has been updated via 3261c7e22b9080f70d315cd18557906415a86646 (commit) from 78f5d94e36c76819fb26e2bec7a77e6e3f41a2d4 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 3261c7e22b9080f70d315cd18557906415a86646 Author: Andrew Cagney Date: Mon Mar 17 15:51:38 2008 -0400 Split out ProcBlockObserver. frysk-core/frysk/proc/ChangeLog 2008-03-17 Andrew Cagney * ProcObserver.java (ProcAction): Move to ... * ProcBlockObserver.java: ... here; new interface. * StressTestAbandon.java: Update. * ProcBlockAction.java: Update. * TestProcForceDetach.java: Update. frysk-core/frysk/proc/dead/ChangeLog 2008-03-17 Andrew Cagney * TestLinuxCore.java: Use ProcBlockAction. frysk-core/frysk/proc/live/ChangeLog 2008-03-17 Andrew Cagney * TestProcStopped.java: Use ProcBlockObserver. frysk-core/frysk/testbed/ChangeLog 2008-03-17 Andrew Cagney * CoredumpAction.java: Extend ProcBlockObserver. frysk-core/frysk/util/ChangeLog 2008-03-17 Andrew Cagney * StacktraceAction.java: Implement ProcBlockObserver. * ProcStopUtil.java (UtilAction): Ditto. ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/proc/ChangeLog | 6 ++ frysk-core/frysk/proc/ProcBlockAction.java | 4 +- .../proc/{FindProc.java => ProcBlockObserver.java} | 27 +++++---- frysk-core/frysk/proc/ProcObserver.java | 15 ----- frysk-core/frysk/proc/StressTestAbandon.java | 51 +++++++----------- frysk-core/frysk/proc/TestProcForceDetach.java | 55 +++++++------------- frysk-core/frysk/proc/dead/ChangeLog | 2 + frysk-core/frysk/proc/dead/TestLinuxCore.java | 4 +- frysk-core/frysk/proc/live/ChangeLog | 2 + frysk-core/frysk/proc/live/TestProcStopped.java | 4 +- frysk-core/frysk/testbed/ChangeLog | 2 + frysk-core/frysk/testbed/CoredumpAction.java | 4 +- frysk-core/frysk/util/ChangeLog | 3 + frysk-core/frysk/util/ProcStopUtil.java | 6 +-- frysk-core/frysk/util/StacktraceAction.java | 4 +- 15 files changed, 80 insertions(+), 109 deletions(-) copy frysk-core/frysk/proc/{FindProc.java => ProcBlockObserver.java} (79%) First 500 lines of diff: diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog index 8713bce..64a9d1d 100644 --- a/frysk-core/frysk/proc/ChangeLog +++ b/frysk-core/frysk/proc/ChangeLog @@ -1,5 +1,11 @@ 2008-03-17 Andrew Cagney + * ProcObserver.java (ProcAction): Move to ... + * ProcBlockObserver.java: ... here; new interface. + * StressTestAbandon.java: Update. + * ProcBlockAction.java: Update. + * TestProcForceDetach.java: Update. + * ProcCoreAction.java: Delete. * HostObserver.java: Delete. diff --git a/frysk-core/frysk/proc/ProcBlockAction.java b/frysk-core/frysk/proc/ProcBlockAction.java index afe4ac9..66f3055 100644 --- a/frysk-core/frysk/proc/ProcBlockAction.java +++ b/frysk-core/frysk/proc/ProcBlockAction.java @@ -61,7 +61,7 @@ import frysk.proc.dead.LinuxCoreFactory; public class ProcBlockAction { private static final Log fine = Log.fine(ProcBlockAction.class); - private ProcObserver.ProcAction action; + private ProcBlockObserver action; private ProcBlockTaskObserver taskObserver = new ProcBlockTaskObserver(); private boolean isMainTaskAdded = false; @@ -140,7 +140,7 @@ public class ProcBlockAction { * * @param theProc a non-null Process. */ - public ProcBlockAction(Proc theProc, ProcObserver.ProcAction action) { + public ProcBlockAction(Proc theProc, ProcBlockObserver action) { fine.log(this, "new"); proc = theProc; this.action = action; diff --git a/frysk-core/frysk/proc/FindProc.java b/frysk-core/frysk/proc/ProcBlockObserver.java similarity index 79% copy from frysk-core/frysk/proc/FindProc.java copy to frysk-core/frysk/proc/ProcBlockObserver.java index cb9d748..e78496b 100644 --- a/frysk-core/frysk/proc/FindProc.java +++ b/frysk-core/frysk/proc/ProcBlockObserver.java @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2005, 2006, 2007, 2008, Red Hat Inc. +// Copyright 2005, 2006, 2008, Red Hat Inc. // // FRYSK is free software; you can redistribute it and/or modify it // under the terms of the GNU General Public License as published by @@ -10,7 +10,7 @@ // WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU // General Public License for more details. -// +// type filter text // You should have received a copy of the GNU General Public License // along with FRYSK; if not, write to the Free Software Foundation, // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. @@ -37,24 +37,27 @@ // version and license this file solely under the GPL without // exception. + package frysk.proc; /** - * Interface to be used with Host.requestFindProc. + * An interface perform a one time check of all tasks while each is in + * the blocked state. */ +public interface ProcBlockObserver extends Observer { -public interface FindProc { - /** - * The process was successfully found and added to the Host's list - * of processes. - * @param proc the Proc that was found. + * Called to deliver a list of existing tasks to the client. */ - void procFound(Proc proc); + void existingTask (Task task); /** - * The process with the given ID was not found. - * @param procId the procId that was not found. + * Called when all the tasks have been handled. + */ + void allExistingTasksCompleted(); + + /** + * Called when attempting to bind to a specific task fails. */ - void procNotFound(int pid); + void taskAddFailed(Object task, Throwable w); } diff --git a/frysk-core/frysk/proc/ProcObserver.java b/frysk-core/frysk/proc/ProcObserver.java index de4c59c..78e1d55 100644 --- a/frysk-core/frysk/proc/ProcObserver.java +++ b/frysk-core/frysk/proc/ProcObserver.java @@ -70,19 +70,4 @@ public interface ProcObserver void taskRemoved (Task task); } - - /** - * An interface to perform a one time check of all tasks. - * - */ - public interface ProcAction - extends ProcObserver - { - /** - * Called when all the tasks have been handled. - */ - void allExistingTasksCompleted(); - - void taskAddFailed(Object task, Throwable w); - } } diff --git a/frysk-core/frysk/proc/StressTestAbandon.java b/frysk-core/frysk/proc/StressTestAbandon.java index 0e71254..ec5ba01 100644 --- a/frysk-core/frysk/proc/StressTestAbandon.java +++ b/frysk-core/frysk/proc/StressTestAbandon.java @@ -48,40 +48,27 @@ public class StressTestAbandon extends TestLib { - class Action implements ProcObserver.ProcAction - { - private Proc proc; - - public Action(Proc proc) - { - this.proc = proc; - } - public void allExistingTasksCompleted () - { - proc.requestAbandonAndRunEvent(new RequestStopEvent(Manager.eventLoop)); - - } - - public void existingTask (Task task) - { - } - - public void addFailed (Object observable, Throwable w) - { - } - - public void addedTo (Object observable) - { + private class Action implements ProcBlockObserver { + private Proc proc; + public Action(Proc proc) { + this.proc = proc; + } + public void allExistingTasksCompleted() { + proc.requestAbandonAndRunEvent(new RequestStopEvent(Manager.eventLoop)); + } + public void existingTask(Task task) { + } + public void addFailed(Object observable, Throwable w) { + } + public void addedTo(Object observable) { + } + public void deletedFrom(Object observable) { + } + public void taskAddFailed(Object task, Throwable w) { + } + } - public void deletedFrom (Object observable) - { - } - public void taskAddFailed (Object task, Throwable w) - { - } - - } public void testStressAbandon () { Proc proc = SlaveOffspring.createDaemon() .assertSendAddClonesWaitForAcks(99) diff --git a/frysk-core/frysk/proc/TestProcForceDetach.java b/frysk-core/frysk/proc/TestProcForceDetach.java index 8578c73..dadd744 100644 --- a/frysk-core/frysk/proc/TestProcForceDetach.java +++ b/frysk-core/frysk/proc/TestProcForceDetach.java @@ -79,42 +79,25 @@ public class TestProcForceDetach requestRemove(ackProc, 3); } - class MyProcBlockAction - implements ProcObserver.ProcAction - { - private Proc proc; - - public MyProcBlockAction (Proc theProc) - { - this.proc = theProc; - } - - public void existingTask (Task task) - { - } + private class MyProcBlockAction implements ProcBlockObserver { + private Proc proc; + public MyProcBlockAction(Proc theProc) { + this.proc = theProc; + } + public void existingTask(Task task) { + } + public void deletedFrom(Object observable) { + } + public void allExistingTasksCompleted() { + proc.requestAbandonAndRunEvent(new RequestStopEvent(Manager.eventLoop)); + } + public void addFailed(Object observable, Throwable w) { + fail("Proc add failed: " + w.getMessage()); + } + public void addedTo(Object observable) { + } + public void taskAddFailed(Object task, Throwable w) { + } - public void deletedFrom (Object observable) - { } - - public void allExistingTasksCompleted () - { - proc.requestAbandonAndRunEvent(new RequestStopEvent(Manager.eventLoop)); - - } - - public void addFailed (Object observable, Throwable w) - { - fail("Proc add failed: " + w.getMessage()); - } - - public void addedTo (Object observable) - { - } - - public void taskAddFailed (Object task, Throwable w) - { - } - - } } diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog index 93efe35..2cf9a3b 100644 --- a/frysk-core/frysk/proc/dead/ChangeLog +++ b/frysk-core/frysk/proc/dead/ChangeLog @@ -1,5 +1,7 @@ 2008-03-17 Andrew Cagney + * TestLinuxCore.java: Use ProcBlockAction. + * TestLinuxCore.java (actionCoreProc()): New; replace ProcCoreAction. diff --git a/frysk-core/frysk/proc/dead/TestLinuxCore.java b/frysk-core/frysk/proc/dead/TestLinuxCore.java index 32fb7f6..fa393c9 100644 --- a/frysk-core/frysk/proc/dead/TestLinuxCore.java +++ b/frysk-core/frysk/proc/dead/TestLinuxCore.java @@ -44,7 +44,7 @@ import frysk.proc.TaskAttachedObserverXXX; import java.io.File; import java.io.PrintWriter; import java.io.StringWriter; -import frysk.proc.ProcObserver; +import frysk.proc.ProcBlockObserver; import lib.dwfl.Dwfl; import java.util.Iterator; import lib.dwfl.DwflModule; @@ -622,7 +622,7 @@ public class TestLinuxCore extends TestLib { /** * Apply a core-file to a proc-block-action. */ - private void actionCoreProc(Proc proc, ProcObserver.ProcAction action) { + private void actionCoreProc(Proc proc, ProcBlockObserver action) { for (Iterator i = proc.getTasks().iterator(); i.hasNext(); ) { Task task = (Task) i.next(); action.existingTask(task); diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index 61dcb25..8f4d670 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,5 +1,7 @@ 2008-03-17 Andrew Cagney + * TestProcStopped.java: Use ProcBlockObserver. + * LinuxPtraceHost.java: Update; using TaskAttachedObserverXXX. * TestTaskObserverCode.java: Ditto. * TestTaskObserverBlocked.java: Ditto. diff --git a/frysk-core/frysk/proc/live/TestProcStopped.java b/frysk-core/frysk/proc/live/TestProcStopped.java index 519f8ff..8ff19d6 100644 --- a/frysk-core/frysk/proc/live/TestProcStopped.java +++ b/frysk-core/frysk/proc/live/TestProcStopped.java @@ -50,7 +50,7 @@ import frysk.testbed.TestLib; import frysk.testbed.SlaveOffspring; import frysk.proc.Proc; import frysk.proc.Task; -import frysk.proc.ProcObserver; +import frysk.proc.ProcBlockObserver; import frysk.proc.ProcBlockAction; import frysk.sys.ProcessIdentifier; import frysk.sys.ProcessIdentifierFactory; @@ -146,7 +146,7 @@ public class TestProcStopped extends TestLib { assertRunUntilStop("testRunningAttached"); } - public class MyTester implements ProcObserver.ProcAction { + public class MyTester implements ProcBlockObserver { public void existingTask(Task task) { } public void deletedFrom(Object observable) { diff --git a/frysk-core/frysk/testbed/ChangeLog b/frysk-core/frysk/testbed/ChangeLog index 1870a80..9c2d310 100644 --- a/frysk-core/frysk/testbed/ChangeLog +++ b/frysk-core/frysk/testbed/ChangeLog @@ -1,5 +1,7 @@ 2008-03-17 Andrew Cagney + * CoredumpAction.java: Extend ProcBlockObserver. + * OffspringType.java: Update; using TaskAttachedObserverXXX. 2008-03-14 Andrew Cagney diff --git a/frysk-core/frysk/testbed/CoredumpAction.java b/frysk-core/frysk/testbed/CoredumpAction.java index d01a390..90f5820 100644 --- a/frysk-core/frysk/testbed/CoredumpAction.java +++ b/frysk-core/frysk/testbed/CoredumpAction.java @@ -48,7 +48,7 @@ import frysk.event.RequestStopEvent; import frysk.event.SignalEvent; import frysk.proc.Manager; import frysk.proc.Proc; -import frysk.proc.ProcObserver; +import frysk.proc.ProcBlockObserver; import frysk.proc.Task; import frysk.sys.Signal; import frysk.isa.corefiles.LinuxElfCorefile; @@ -63,7 +63,7 @@ import frysk.isa.corefiles.LinuxElfCorefileFactory; * */ -public class CoredumpAction implements ProcObserver.ProcAction { +public class CoredumpAction implements ProcBlockObserver { private static final Log fine = Log.fine(CoredumpAction.class); private String filename = "core"; diff --git a/frysk-core/frysk/util/ChangeLog b/frysk-core/frysk/util/ChangeLog index dc63d70..6117e12 100644 --- a/frysk-core/frysk/util/ChangeLog +++ b/frysk-core/frysk/util/ChangeLog @@ -1,5 +1,8 @@ 2008-03-17 Andrew Cagney + * StacktraceAction.java: Implement ProcBlockObserver. + * ProcStopUtil.java (UtilAction): Ditto. + * TestStackTraceAction.java (testCore()): Delete; tested by core code. diff --git a/frysk-core/frysk/util/ProcStopUtil.java b/frysk-core/frysk/util/ProcStopUtil.java index f282816..af231ed 100644 --- a/frysk-core/frysk/util/ProcStopUtil.java +++ b/frysk-core/frysk/util/ProcStopUtil.java @@ -44,7 +44,7 @@ import frysk.event.ProcEvent; import frysk.proc.Manager; import frysk.proc.Proc; import frysk.proc.ProcBlockAction; -import frysk.proc.ProcObserver; +import frysk.proc.ProcBlockObserver; import frysk.proc.Task; import frysk.util.CommandlineParser; import gnu.classpath.tools.getopt.Option; @@ -124,9 +124,7 @@ public class ProcStopUtil { } } - private static class UtilAction - implements ProcObserver.ProcAction - { + private static class UtilAction implements ProcBlockObserver { protected Proc proc; private Event event; diff --git a/frysk-core/frysk/util/StacktraceAction.java b/frysk-core/frysk/util/StacktraceAction.java index ccb05dc..d2dc7d3 100644 --- a/frysk-core/frysk/util/StacktraceAction.java +++ b/frysk-core/frysk/util/StacktraceAction.java @@ -51,12 +51,12 @@ import frysk.event.RequestStopEvent; import frysk.event.SignalEvent; import frysk.proc.Manager; import frysk.proc.Proc; -import frysk.proc.ProcObserver; +import frysk.proc.ProcBlockObserver; import frysk.proc.Task; import frysk.stack.StackFactory; import frysk.sys.Signal; -public abstract class StacktraceAction implements ProcObserver.ProcAction { +public abstract class StacktraceAction implements ProcBlockObserver { private static final Log fine = Log.fine(StacktraceAction.class); public void addedTo (Object observable) hooks/post-receive -- frysk system monitor/debugger