public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Clearly identify code using the Task.blockers internal variable.
Date: Thu, 17 Jan 2008 00:58:00 -0000	[thread overview]
Message-ID: <20080117005827.12859.qmail@sourceware.org> (raw)

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


                 reply	other threads:[~2008-01-17  0:58 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080117005827.12859.qmail@sourceware.org \
    --to=cagney@sourceware.org \
    --cc=frysk-cvs@sourceware.org \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).