public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Clearly identify code using the Task.blockers internal variable.
@ 2008-01-17  0:58 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-01-17  0:58 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  10bf4ead4d7cc9e4299319c9507e1db8da9dbf7b (commit)
      from  bb7902b13a9edce97875a882a4ae5d0bb2b2e443 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 10bf4ead4d7cc9e4299319c9507e1db8da9dbf7b
Author: Andrew Cagney <cagney@redhat.com>
Date:   Wed Jan 16 19:55:37 2008 -0500

    Clearly identify code using the Task.blockers internal variable.
    
    frysk-core/frysk/ftrace/ChangeLog
    2008-01-16  Andrew Cagney  <cagney@redhat.com>
    
    	* Ltrace.java: Update; Task.blockers made private; use workaround.
    	* MappingGuard.java: Ditto.
    
    2008-01-16  Andrew Cagney  <cagney@redhat.com>
    
    	* TaskData.java: Task.getBlockers() make private; use workaround.
    
    frysk-core/frysk/proc/ChangeLog
    2008-01-16  Andrew Cagney  <cagney@redhat.com>
    
    	* Task.java (blockers): Delete.
    	(getBlockers()): Delete.
    	(bogusUseOfInternalBlockersVariableFIXME()): New.
    	* TestTaskObserverBlocked.java: Move to frysk.proc.live.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-01-16  Andrew Cagney  <cagney@redhat.com>
    
    	* LinuxPtraceTask.java (blockers): New.
    	(bogusUseOfInternalBlockersVariableFIXME()): New.
    	* LinuxPtraceProc.java: Update.
    	* TestTaskObserverBlocked.java: Move here from frysk.proc.
    
    frysk-core/frysk/rt/ChangeLog
    2008-01-16  Andrew Cagney  <cagney@redhat.com>
    
    	* UpdatingDisplayValue.java: Task.getBlockers() make private; use
    	work-around.
    	* TestUpdatingDisplayValue.java: Ditto.

-----------------------------------------------------------------------

Summary of changes:
 frysk-core/frysk/ftrace/ChangeLog                  |    5 ++++
 frysk-core/frysk/ftrace/Ltrace.java                |    2 +-
 frysk-core/frysk/ftrace/MappingGuard.java          |    2 +-
 frysk-core/frysk/hpd/ChangeLog                     |    8 +++++-
 frysk-core/frysk/hpd/TaskData.java                 |    8 +++++-
 frysk-core/frysk/proc/ChangeLog                    |    5 ++++
 frysk-core/frysk/proc/Task.java                    |   14 ++----------
 frysk-core/frysk/proc/live/ChangeLog               |    5 ++++
 frysk-core/frysk/proc/live/LinuxPtraceProc.java    |    2 +-
 frysk-core/frysk/proc/live/LinuxPtraceTask.java    |   11 ++++++++++
 .../proc/{ => live}/TestTaskObserverBlocked.java   |   21 +++++++++++--------
 frysk-core/frysk/rt/ChangeLog                      |    6 +++++
 frysk-core/frysk/rt/TestUpdatingDisplayValue.java  |    8 ++++--
 frysk-core/frysk/rt/UpdatingDisplayValue.java      |    8 +++---
 14 files changed, 71 insertions(+), 34 deletions(-)
 rename frysk-core/frysk/proc/{ => live}/TestTaskObserverBlocked.java (97%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/ftrace/ChangeLog b/frysk-core/frysk/ftrace/ChangeLog
index dadd760..28a2af3 100644
--- a/frysk-core/frysk/ftrace/ChangeLog
+++ b/frysk-core/frysk/ftrace/ChangeLog
@@ -1,3 +1,8 @@
+2008-01-16  Andrew Cagney  <cagney@redhat.com>
+
+	* Ltrace.java: Update; Task.blockers made private; use workaround.
+	* MappingGuard.java: Ditto.
+
 2008-01-16  Mark Wielaard  <mwielaard@redhat.com>
 
 	* TestLtrace.java (DummyFunctionObserver): Made static.
diff --git a/frysk-core/frysk/ftrace/Ltrace.java b/frysk-core/frysk/ftrace/Ltrace.java
index ee836da..4030805 100644
--- a/frysk-core/frysk/ftrace/Ltrace.java
+++ b/frysk-core/frysk/ftrace/Ltrace.java
@@ -103,7 +103,7 @@ public class Ltrace
 	for (Iterator it = observers.iterator(); it.hasNext();) {
 	    FunctionObserver fo = (FunctionObserver)it.next();
 	    if (oit.action(fo) == Action.BLOCK)
-		this.task.blockers.add(fo);
+		this.task.bogusUseOfInternalBlockersVariableFIXME().add(fo);
 	}
     }
 
diff --git a/frysk-core/frysk/ftrace/MappingGuard.java b/frysk-core/frysk/ftrace/MappingGuard.java
index 5b14999..6638df3 100644
--- a/frysk-core/frysk/ftrace/MappingGuard.java
+++ b/frysk-core/frysk/ftrace/MappingGuard.java
@@ -157,7 +157,7 @@ class MappingGuard
 		MappingObserver ob = (MappingObserver)entry.getKey();
 		for (int j = 0; j < v; ++j)
 		    if (oit.action(ob) == Action.BLOCK)
-			task.blockers.add(ob);
+			task.bogusUseOfInternalBlockersVariableFIXME().add(ob);
 	    }
 	}
 
diff --git a/frysk-core/frysk/hpd/ChangeLog b/frysk-core/frysk/hpd/ChangeLog
index abe5e64..0dd9104 100644
--- a/frysk-core/frysk/hpd/ChangeLog
+++ b/frysk-core/frysk/hpd/ChangeLog
@@ -1,9 +1,13 @@
-2008-01-15  Andrew Cagney  <cagney@redhat.com>
+2008-01-16  Andrew Cagney  <cagney@redhat.com>
 
-	* TestSysRoot.java (testHaveSysRoot): Test sysroot is now in pkgdatadir.
+	* TaskData.java: Task.getBlockers() make private; use workaround.
 
 2008-01-15  Stan Cox  <scox@redhat.com>
 
+	* TestSysRoot.java (testHaveSysRoot): Test sysroot is now in pkgdatadir.
+
+2008-01-15  Andrew Cagney  <cagney@redhat.com>
+
 	* TestSysRoot.java: Mark as unresolved, bug 5619.
 
 2008-01-15  Rick Moseley  <rmoseley@redhat.com>
diff --git a/frysk-core/frysk/hpd/TaskData.java b/frysk-core/frysk/hpd/TaskData.java
index 8b5569b..5f93cf4 100644
--- a/frysk-core/frysk/hpd/TaskData.java
+++ b/frysk-core/frysk/hpd/TaskData.java
@@ -85,8 +85,12 @@ class TaskData
         toPrint(printWriter, false);
     }
 
-    // XXX Better way to do this?
+    /**
+     * XXX: The way to determine if a task is stopped is via the
+     * stepping engine which determines when, from the HPD's
+     * point-of-view, a task can be considered stopped.
+     */
     public boolean isStopped() {
-        return task.getBlockers().length != 0;
+        return task.bogusUseOfInternalBlockersVariableFIXME().size() != 0;
     }
 }
diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog
index 1cd3d7a..4d45985 100644
--- a/frysk-core/frysk/proc/ChangeLog
+++ b/frysk-core/frysk/proc/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-16  Andrew Cagney  <cagney@redhat.com>
 
+	* Task.java (blockers): Delete.
+	(getBlockers()): Delete.
+	(bogusUseOfInternalBlockersVariableFIXME()): New.
+	* TestTaskObserverBlocked.java: Move to frysk.proc.live.
+	
 	* Task.java (sendrecRegisterBanks()): Delete.
 	(getRegisterBanks()): Make abstract.
 
diff --git a/frysk-core/frysk/proc/Task.java b/frysk-core/frysk/proc/Task.java
index 30278d5..6e65278 100644
--- a/frysk-core/frysk/proc/Task.java
+++ b/frysk-core/frysk/proc/Task.java
@@ -168,18 +168,10 @@ public abstract class Task {
     }
 
     /**
-     * Set of interfaces currently blocking this task.
-     *
-     * XXX: Should not be public.
-     */
-    public Set blockers = new HashSet();
-
-    /**
-     * Return the current set of blockers as an array. Useful when
-     * debugging.
+     * XXX: Code using this needs a re-think.
      */
-    public TaskObserver[] getBlockers() {
-	return (TaskObserver[]) blockers.toArray(new TaskObserver[0]);
+    public Set bogusUseOfInternalBlockersVariableFIXME() {
+	return new HashSet();
     }
 
     /**
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index 32e979f..4118d0a 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,5 +1,10 @@
 2008-01-16  Andrew Cagney  <cagney@redhat.com>
 
+	* LinuxPtraceTask.java (blockers): New.
+	(bogusUseOfInternalBlockersVariableFIXME()): New.
+	* LinuxPtraceProc.java: Update.
+	* TestTaskObserverBlocked.java: Move here from frysk.proc.
+
 	* LinuxPtraceTask.java (getRegisterBanks()): Replace
 	sendrecRegisterBanks().
 	
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceProc.java b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
index 032ca03..c6662d4 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceProc.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
@@ -636,7 +636,7 @@ public class LinuxPtraceProc extends LiveProc {
 		    super.add();
 		    TaskObserver.Instruction i = (TaskObserver.Instruction) observer;
 		    if (i.updateExecuted(task) == Action.BLOCK)
-			task.blockers.add(observer);
+			((LinuxPtraceTask)task).blockers.add(observer);
 		}
 	    };
 	Manager.eventLoop.add(to);
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceTask.java b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
index a65aa9d..99be7e6 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceTask.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceTask.java
@@ -39,6 +39,8 @@
 
 package frysk.proc.live;
 
+import java.util.HashSet;
+import java.util.Set;
 import java.util.LinkedList;
 import frysk.isa.Register;
 import frysk.isa.RegistersFactory;
@@ -511,6 +513,15 @@ public class LinuxPtraceTask extends LiveTask {
 	    });
     }
 
+    /**
+     * Set of interfaces currently blocking this task.
+     *
+     * Package-private.
+     */
+    final Set blockers = new HashSet();
+    public Set bogusUseOfInternalBlockersVariableFIXME() {
+	return blockers;
+    }
 
     /**
      * Set of Cloned observers.
diff --git a/frysk-core/frysk/proc/TestTaskObserverBlocked.java b/frysk-core/frysk/proc/live/TestTaskObserverBlocked.java
similarity index 97%
rename from frysk-core/frysk/proc/TestTaskObserverBlocked.java
rename to frysk-core/frysk/proc/live/TestTaskObserverBlocked.java
index f22f8b2..289bf50 100644
--- a/frysk-core/frysk/proc/TestTaskObserverBlocked.java
+++ b/frysk-core/frysk/proc/live/TestTaskObserverBlocked.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
@@ -38,7 +38,7 @@
 // exception.
 
 
-package frysk.proc;
+package frysk.proc.live;
 
 import java.util.logging.Level;
 import frysk.testbed.SignalWaiter;
@@ -50,6 +50,10 @@ import frysk.testbed.TaskObserverBase;
 import frysk.testbed.DaemonBlockedAtEntry;
 import frysk.testbed.Offspring;
 import frysk.testbed.SlaveOffspring;
+import frysk.proc.TaskObserver;
+import frysk.proc.Task;
+import frysk.proc.Action;
+import frysk.proc.Manager;
 
 /**
  * Check the behavior of an observer that blocks a Task's progress. In
@@ -96,13 +100,12 @@ public class TestTaskObserverBlocked
     assertEquals("blocked task count", 1, tasks.length);
 
     // That the Task's blocker set only contains this task.
-    for (int i = 0; i < tasks.length; i++)
-      {
-        Task task = tasks[i];
-        TaskObserver[] blockers = task.getBlockers();
-        assertEquals("blockers length", 1, blockers.length);
-        assertSame("blocker and blockAttached", blockAttached, blockers[0]);
-      }
+    for (int i = 0; i < tasks.length; i++) {
+	LinuxPtraceTask task = (LinuxPtraceTask) tasks[i];
+	assertEquals("blockers length", 1, task.blockers.size());
+	assertSame("blocker and blockAttached", blockAttached,
+		   task.blockers.toArray()[0]);
+    }
   }
 
   /**
diff --git a/frysk-core/frysk/rt/ChangeLog b/frysk-core/frysk/rt/ChangeLog
index dd2942c..125439c 100644
--- a/frysk-core/frysk/rt/ChangeLog
+++ b/frysk-core/frysk/rt/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-16  Andrew Cagney  <cagney@redhat.com>
+
+	* UpdatingDisplayValue.java: Task.getBlockers() make private; use
+	work-around.
+	* TestUpdatingDisplayValue.java: Ditto.
+
 2008-01-11  Tim Moore  <timoore@redhat.com>
 
     	* FunctionBreakpoint.java (getBreakpointRawAddresses): Filter out
diff --git a/frysk-core/frysk/rt/TestUpdatingDisplayValue.java b/frysk-core/frysk/rt/TestUpdatingDisplayValue.java
index 76ceb7f..e0e5eaf 100644
--- a/frysk-core/frysk/rt/TestUpdatingDisplayValue.java
+++ b/frysk-core/frysk/rt/TestUpdatingDisplayValue.java
@@ -1,6 +1,6 @@
 // This file is part of the program FRYSK.
 //
-// Copyright 2007, Red Hat Inc.
+// Copyright 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
@@ -524,14 +524,16 @@ public class TestUpdatingDisplayValue extends TestLib
     public void updateAvailableTaskStopped (UpdatingDisplayValue value)
     {
       assertNotNull("DisplayValue passed to the observer", value);
-      assertFalse("Task should have blockers", myTask.getBlockers().length == 0);
+      assertFalse("Task should have blockers",
+		  myTask.bogusUseOfInternalBlockersVariableFIXME().size() == 0);
       hitStopped = true;
     }
 
     public void updateUnavailbeResumedExecution (UpdatingDisplayValue value)
     {
       assertNotNull("DisplayValue passed to the observer", value);
-      assertTrue("Task should not be blocked", myTask.getBlockers().length == 0);
+      assertTrue("Task should not be blocked",
+		 myTask.bogusUseOfInternalBlockersVariableFIXME().size() == 0);
       hitResumed = true;
     }
 
diff --git a/frysk-core/frysk/rt/UpdatingDisplayValue.java b/frysk-core/frysk/rt/UpdatingDisplayValue.java
index 50b43a4..593b14e 100644
--- a/frysk-core/frysk/rt/UpdatingDisplayValue.java
+++ b/frysk-core/frysk/rt/UpdatingDisplayValue.java
@@ -113,11 +113,11 @@ public class UpdatingDisplayValue extends DisplayValue {
          */
     public void refresh() {
 	// If the task isn't running, notify our observers to that extent
-	if (myTask.getBlockers().length == 0) {
+	if (myTask.bogusUseOfInternalBlockersVariableFIXME().size() == 0) {
 	    /*
-                 * TODO: right now we don't get notified when the task is
-                 * resumed, should we?
-                 */
+	     * TODO: right now we don't get notified when the task is
+	     * resumed, should we?
+	     */
 	    // notifyObserversUnavailableTaskResumed();
 	    return;
 	}


hooks/post-receive
--
frysk system monitor/debugger


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

only message in thread, other threads:[~2008-01-17  0:58 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-17  0:58 [SCM] master: Clearly identify code using the Task.blockers internal variable 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).