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: linkBe 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).