public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Delete Host.requestRefreshXXX().
@ 2008-02-07 19:06 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-02-07 19:06 UTC (permalink / raw)
  To: frysk-cvs

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 <cagney@redhat.com>
Date:   Thu Feb 7 14:06:06 2008 -0500

    Delete Host.requestRefreshXXX().
    
    frysk-core/frysk/proc/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* Host.java (requestRefreshXXX()): Delete.
    	* ProcBlockAction.java: Update.
    	* TestFindProc.java: Update.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* DeadHost.java (requestRefreshXXX()): Delete.
    
    frysk-core/frysk/proc/dummy/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* DummyHost.java (requestRefreshXXX()): Delete.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* LinuxPtraceHost.java (requestRefreshXXX()): Delete.
    	* TestTaskObserverBlocked.java: Update.
    
    frysk-gui/frysk/gui/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* 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  <cagney@redhat.com>
 
+	* 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  <cagney@redhat.com>
 
+	* DeadHost.java (requestRefreshXXX()): Delete.
+
 	* DeadHost.java (requestProc(int,FindProc): Update to match Host.
 
 2008-01-31  Andrew Cagney  <cagney@redhat.com>
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  <cagney@redhat.com>
 
+	* 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  <cagney@redhat.com>
 
+	* 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  <cagney@redhat.com>
+
+	* Gui.java: Delete call to Host.requestRefreshXXX().
+
 2008-01-24  Andrew Cagney  <cagney@redhat.com>
 
 	* 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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2008-02-07 19:06 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-07 19:06 [SCM] master: Delete Host.requestRefreshXXX() cagney

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).