From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4544 invoked by alias); 7 Feb 2008 19:06:54 -0000 Received: (qmail 4418 invoked by uid 367); 7 Feb 2008 19:06:53 -0000 Date: Thu, 07 Feb 2008 19:06:00 -0000 Message-ID: <20080207190653.4348.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Delete Host.requestRefreshXXX(). X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 2209847f5130a5b5d8ca5a4d5978f6d9d5f66ba8 X-Git-Newrev: ec5156efde7f08f2adc5c459155e5abf4ea8477f 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/msg00170.txt.bz2 The branch, master has been updated via ec5156efde7f08f2adc5c459155e5abf4ea8477f (commit) from 2209847f5130a5b5d8ca5a4d5978f6d9d5f66ba8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit ec5156efde7f08f2adc5c459155e5abf4ea8477f Author: Andrew Cagney Date: Thu Feb 7 14:06:06 2008 -0500 Delete Host.requestRefreshXXX(). frysk-core/frysk/proc/ChangeLog 2008-02-07 Andrew Cagney * Host.java (requestRefreshXXX()): Delete. * ProcBlockAction.java: Update. * TestFindProc.java: Update. frysk-core/frysk/proc/dead/ChangeLog 2008-02-07 Andrew Cagney * DeadHost.java (requestRefreshXXX()): Delete. frysk-core/frysk/proc/dummy/ChangeLog 2008-02-07 Andrew Cagney * DummyHost.java (requestRefreshXXX()): Delete. frysk-core/frysk/proc/live/ChangeLog 2008-02-07 Andrew Cagney * LinuxPtraceHost.java (requestRefreshXXX()): Delete. * TestTaskObserverBlocked.java: Update. frysk-gui/frysk/gui/ChangeLog 2008-02-07 Andrew Cagney * Gui.java: Delete call to Host.requestRefreshXXX(). ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/proc/ChangeLog | 4 + frysk-core/frysk/proc/Host.java | 7 -- frysk-core/frysk/proc/ProcBlockAction.java | 1 - .../StressAttachDetachRapidlyForkingMainTask.java | 28 ++++-- frysk-core/frysk/proc/TestFindProc.java | 18 ---- frysk-core/frysk/proc/dead/ChangeLog | 2 + frysk-core/frysk/proc/dead/DeadHost.java | 3 - frysk-core/frysk/proc/dummy/ChangeLog | 2 + frysk-core/frysk/proc/dummy/DummyHost.java | 3 - frysk-core/frysk/proc/live/ChangeLog | 3 + frysk-core/frysk/proc/live/LinuxPtraceHost.java | 11 -- .../frysk/proc/live/TestTaskObserverBlocked.java | 104 ++++++++++---------- frysk-gui/frysk/gui/ChangeLog | 4 + frysk-gui/frysk/gui/Gui.java | 44 ++++++--- 14 files changed, 116 insertions(+), 118 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog index 213f63a..a30eb3f 100644 --- a/frysk-core/frysk/proc/ChangeLog +++ b/frysk-core/frysk/proc/ChangeLog @@ -1,5 +1,9 @@ 2008-02-07 Andrew Cagney + * Host.java (requestRefreshXXX()): Delete. + * ProcBlockAction.java: Update. + * TestFindProc.java: Update. + * FindProc.java (procNotFound(int)): Replace procNotFound(ProcId). * Host.java (requestProc(int,FindProc)): Replace requestProc(ProcId,FindProc). diff --git a/frysk-core/frysk/proc/Host.java b/frysk-core/frysk/proc/Host.java index addd620..c3f8a95 100644 --- a/frysk-core/frysk/proc/Host.java +++ b/frysk-core/frysk/proc/Host.java @@ -128,13 +128,6 @@ public abstract class Host { /** - * Request that the Host scan the system's process tables - * refreshing the internal structure to match. Optionally refresh - * each processes task list. - */ - public abstract void requestRefreshXXX(); - - /** * Find a specifc process from its Id. */ public abstract void requestProc(int pid, FindProc finder); diff --git a/frysk-core/frysk/proc/ProcBlockAction.java b/frysk-core/frysk/proc/ProcBlockAction.java index 049f81f..dadbcc3 100644 --- a/frysk-core/frysk/proc/ProcBlockAction.java +++ b/frysk-core/frysk/proc/ProcBlockAction.java @@ -170,7 +170,6 @@ public class ProcBlockAction public ProcBlockAction (File coreFile) { LinuxCoreHost core = new LinuxCoreHost(Manager.eventLoop, coreFile); - core.requestRefreshXXX(); Manager.eventLoop.runPending(); proc = core.getSoleProcFIXME(); if (proc == null) diff --git a/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java b/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java index 9aa62ca..d0652ab 100644 --- a/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java +++ b/frysk-core/frysk/proc/StressAttachDetachRapidlyForkingMainTask.java @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2005, 2006, 2007, Red Hat Inc. +// Copyright 2005, 2006, 2007, 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 @@ -39,6 +39,8 @@ package frysk.proc; +import java.util.Collection; +import java.util.HashSet; import java.util.logging.Level; import frysk.event.TimerEvent; import frysk.proc.ProcObserver.ProcTasks; @@ -156,13 +158,23 @@ public class StressAttachDetachRapidlyForkingMainTask child.getMainTask().requestAddForkedObserver (forkObserver); // Create a refresh time with a low refresh. - TimerEvent refreshTimer = new TimerEvent(0, 500){ - public void execute() { - Manager.host.requestRefreshXXX (); - } - }; - - Manager.eventLoop.add (refreshTimer); + class Refresher extends TimerEvent implements HostRefreshBuilder { + private final Host host; + Refresher(Host host) { + super(0, 500); + this.host = host; + } + private final HashSet known = new HashSet(); + public void execute() { + host.requestRefresh(known, this); + } + public void construct(Collection newProcesses, + Collection exitedProcesses) { + known.addAll(newProcesses); + known.removeAll(exitedProcesses); + } + } + Manager.eventLoop.add (new Refresher(host)); // Go .... child.requestRemoveBlock(); diff --git a/frysk-core/frysk/proc/TestFindProc.java b/frysk-core/frysk/proc/TestFindProc.java index 2819c87..7dcab2c 100644 --- a/frysk-core/frysk/proc/TestFindProc.java +++ b/frysk-core/frysk/proc/TestFindProc.java @@ -145,22 +145,4 @@ public class TestFindProc Manager.host.requestProc(0, finder); assertRunUntilStop("testFindFailed"); } - - - public void testFindUsingRefresh () - { - final SlaveOffspring ackProc = SlaveOffspring.createChild(); - - Proc proc; - - ProcCounter o = new ProcCounter(); - Manager.host.observableProcAddedXXX.addObserver(o); - // Try polling /proc. - Manager.host.requestRefreshXXX(); - Manager.eventLoop.runPending(); - proc = Manager.host.getProc(new ProcId(ackProc.getPid())); - - assertNotNull(proc); - - } } diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog index 71703d3..cbb951b 100644 --- a/frysk-core/frysk/proc/dead/ChangeLog +++ b/frysk-core/frysk/proc/dead/ChangeLog @@ -1,5 +1,7 @@ 2008-02-07 Andrew Cagney + * DeadHost.java (requestRefreshXXX()): Delete. + * DeadHost.java (requestProc(int,FindProc): Update to match Host. 2008-01-31 Andrew Cagney diff --git a/frysk-core/frysk/proc/dead/DeadHost.java b/frysk-core/frysk/proc/dead/DeadHost.java index f84d235..127a735 100644 --- a/frysk-core/frysk/proc/dead/DeadHost.java +++ b/frysk-core/frysk/proc/dead/DeadHost.java @@ -61,9 +61,6 @@ abstract class DeadHost extends Host { Attached attached) { throw new RuntimeException("requestCreateAttachedProc"); } - public void requestRefreshXXX() { - // ignore. - } public void requestRefresh(Collection knownProcesses, HostRefreshBuilder builder) { // Ignore for now; should call back with the known processes diff --git a/frysk-core/frysk/proc/dummy/ChangeLog b/frysk-core/frysk/proc/dummy/ChangeLog index bb6d338..9389c51 100644 --- a/frysk-core/frysk/proc/dummy/ChangeLog +++ b/frysk-core/frysk/proc/dummy/ChangeLog @@ -1,5 +1,7 @@ 2008-02-07 Andrew Cagney + * DummyHost.java (requestRefreshXXX()): Delete. + * DummyHost.java (requestProc(int,FindProc)): Update to match Host. diff --git a/frysk-core/frysk/proc/dummy/DummyHost.java b/frysk-core/frysk/proc/dummy/DummyHost.java index aeae459..0378669 100644 --- a/frysk-core/frysk/proc/dummy/DummyHost.java +++ b/frysk-core/frysk/proc/dummy/DummyHost.java @@ -47,9 +47,6 @@ import java.util.Collection; import frysk.proc.HostRefreshBuilder; public class DummyHost extends Host { - public void requestRefreshXXX() { - throw new RuntimeException("requestCreateAttachedProc"); - } public void requestCreateAttachedProc(String stdin, String stdout, String stderr, String[] args, Attached attached) { diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index e515865..c38ab2b 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,5 +1,8 @@ 2008-02-07 Andrew Cagney + * LinuxPtraceHost.java (requestRefreshXXX()): Delete. + * TestTaskObserverBlocked.java: Update. + * LinuxPtraceHost.java (requestProc(int,FindProc)): Update to match host. diff --git a/frysk-core/frysk/proc/live/LinuxPtraceHost.java b/frysk-core/frysk/proc/live/LinuxPtraceHost.java index 167fc5c..67ae93b 100644 --- a/frysk-core/frysk/proc/live/LinuxPtraceHost.java +++ b/frysk-core/frysk/proc/live/LinuxPtraceHost.java @@ -156,17 +156,6 @@ public class LinuxPtraceHost extends LiveHost { } } - - public void requestRefreshXXX() { - logger.log(Level.FINEST, "{0} requestRefreshXXX\n", this); - Manager.eventLoop.add(new Event() { - public void execute() { - logger.log(Level.FINE, "{0} handleRefresh\n", - LinuxPtraceHost.this); - LinuxPtraceHost.this.executeRefresh(); - } - }); - } private ProcChanges executeRefresh() { // Iterate (build) the /proc tree, passing each found PID to // procChanges where it can update the /proc tree. diff --git a/frysk-core/frysk/proc/live/TestTaskObserverBlocked.java b/frysk-core/frysk/proc/live/TestTaskObserverBlocked.java index 289bf50..e18519e 100644 --- a/frysk-core/frysk/proc/live/TestTaskObserverBlocked.java +++ b/frysk-core/frysk/proc/live/TestTaskObserverBlocked.java @@ -52,8 +52,11 @@ import frysk.testbed.Offspring; import frysk.testbed.SlaveOffspring; import frysk.proc.TaskObserver; import frysk.proc.Task; +import frysk.proc.HostRefreshBuilder; import frysk.proc.Action; import frysk.proc.Manager; +import java.util.Collection; +import java.util.HashSet; /** * Check the behavior of an observer that blocks a Task's progress. In @@ -393,59 +396,56 @@ public class TestTaskObserverBlocked fork.assertUnblockOffspring(); } - /** - * Check that an unblocked offspring, that then exits, can be refreshed. This - * confirms that an unblocked task transitioned to detached. - */ - public void testRefreshAfterUnblockedForkExits () - { - SlaveOffspring proc = SlaveOffspring.createDaemon(); - Task task = proc.findTaskUsingRefresh(true); - class ForkUnblock - extends TaskObserverBase - implements TaskObserver.Forked - { - Task parent; - - Task offspring; - - public void addedTo (Object o) - { - Manager.eventLoop.requestStop(); - } - - public Action updateForkedParent (Task parent, Task offspring) - { - this.parent = parent; - this.offspring = offspring; - return Action.CONTINUE; - } - - public Action updateForkedOffspring (Task parent, Task offspring) - { - offspring.requestUnblock(this); - return Action.BLOCK; - } + /** + * Check that an unblocked offspring, that exits can be + * refreshed. This confirms that an unblocked task transitioned to + * detached. + */ + public void testRefreshAfterUnblockedForkExits() { + SlaveOffspring proc = SlaveOffspring.createDaemon(); + Task task = proc.findTaskUsingRefresh(true); + class ForkUnblock extends TaskObserverBase + implements TaskObserver.Forked + { + Task parent; + Task offspring; + public void addedTo (Object o) { + Manager.eventLoop.requestStop(); + } + public Action updateForkedParent (Task parent, Task offspring) { + this.parent = parent; + this.offspring = offspring; + return Action.CONTINUE; + } + public Action updateForkedOffspring (Task parent, Task offspring) { + offspring.requestUnblock(this); + return Action.BLOCK; + } + } + ForkUnblock forkUnblock = new ForkUnblock(); + task.requestAddForkedObserver(forkUnblock); + assertRunUntilStop("adding fork observer"); + + // Create a child process, will transition through to + // detached. + proc.assertSendAddForkWaitForAcks(); + + // Now make the child exit. Frysk's core can't see this since + // it isn't attached to the process. + proc.assertSendDelForkWaitForAcks(); + + logger.log(Level.FINE, "{0} parent\n", forkUnblock.parent); + logger.log(Level.FINE, "{0} offspring\n", forkUnblock.offspring); + + // Finally force a refresh. + host.requestRefresh(new HashSet(), new HostRefreshBuilder() { + public void construct(Collection newProcesses, + Collection exitedProcesses) { + // ignore; check in exitedProcesses? + } + }); + Manager.eventLoop.runPending(); } - ForkUnblock forkUnblock = new ForkUnblock(); - task.requestAddForkedObserver(forkUnblock); - assertRunUntilStop("adding fork observer"); - - // Create a child process, will transition through to - // detached. - proc.assertSendAddForkWaitForAcks(); - - // Now make the child exit. Frysk's core can't see this since - // it isn't attached to the process. - proc.assertSendDelForkWaitForAcks(); - - logger.log(Level.FINE, "{0} parent\n", forkUnblock.parent); - logger.log(Level.FINE, "{0} offspring\n", forkUnblock.offspring); - - // Finally force a refresh. - host.requestRefreshXXX(); - Manager.eventLoop.runPending(); - } /** * Check that new observers being added hot on the heals of an unblock get diff --git a/frysk-gui/frysk/gui/ChangeLog b/frysk-gui/frysk/gui/ChangeLog index db5f960..247fa8a 100644 --- a/frysk-gui/frysk/gui/ChangeLog +++ b/frysk-gui/frysk/gui/ChangeLog @@ -1,3 +1,7 @@ +2008-02-07 Andrew Cagney + + * Gui.java: Delete call to Host.requestRefreshXXX(). + 2008-01-24 Andrew Cagney * register/RegisterWindow.java: Update; Register moved to diff --git a/frysk-gui/frysk/gui/Gui.java b/frysk-gui/frysk/gui/Gui.java index 4261577..04ce0ba 100644 --- a/frysk-gui/frysk/gui/Gui.java +++ b/frysk-gui/frysk/gui/Gui.java @@ -39,6 +39,10 @@ package frysk.gui; +import frysk.proc.HostRefreshBuilder; +import java.util.Collection; +import java.util.HashSet; +import frysk.proc.Host; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; @@ -376,21 +380,31 @@ public class Gui implements LifeCycleListener, Saveable { }); backendStarter.start(); - TimerEvent refreshTimer = new TimerEvent(0, 3000) - { - public void execute() - { - CustomEvents.addEvent(new Runnable() - { - public void run() - { - Manager.host.requestRefreshXXX(); - } - }); - } - }; - Manager.eventLoop.add(refreshTimer); - + // Create a refresh time with a low refresh; FIXME: + // This belongs in the process-picker window. That + // way the process picker gets to regulate when + // updates come through. For instance, while a search + // (CNTRL-F) is being performed, refreshes are + // blocked. + class Refresher extends + TimerEvent implements HostRefreshBuilder + { + private final Host host; + Refresher(Host host) { + super(0, 3000); + this.host = host; + } + private final HashSet known = new HashSet(); + public void execute() { + host.requestRefresh(known, this); + } + public void construct(Collection newProcesses, + Collection exitedProcesses) { + known.addAll(newProcesses); + known.removeAll(exitedProcesses); + } + } + Manager.eventLoop.add (new Refresher(Manager.host)); } /** hooks/post-receive -- frysk system monitor/debugger