From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12525 invoked by alias); 22 Jan 2008 03:35:39 -0000 Received: (qmail 12497 invoked by uid 367); 22 Jan 2008 03:35:37 -0000 Date: Tue, 22 Jan 2008 03:35:00 -0000 Message-ID: <20080122033537.12482.qmail@sourceware.org> From: cagney@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Pass up a Signal, and not an int, in frysk.sys.WaitBuilder. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: 137e1fd0edb8b159a08f9d62d681181eacc80a9b X-Git-Newrev: b60181a1a4f5e491010c264348ac95ba3c321287 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/msg00098.txt.bz2 The branch, master has been updated via b60181a1a4f5e491010c264348ac95ba3c321287 (commit) from 137e1fd0edb8b159a08f9d62d681181eacc80a9b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit b60181a1a4f5e491010c264348ac95ba3c321287 Author: Andrew Cagney Date: Mon Jan 21 22:35:21 2008 -0500 Pass up a Signal, and not an int, in frysk.sys.WaitBuilder. frysk-core/frysk/proc/live/ChangeLog 2008-01-21 Andrew Cagney * LinuxWaitBuilder.java: Update to match WaitBuilder.stopped(int,Signal). frysk-sys/frysk/expunit/ChangeLog 2008-01-21 Andrew Cagney * WaitObserver.java: Update to match WaitBuilder.signal(int,Signal). frysk-sys/frysk/sys/ChangeLog 2008-01-21 Andrew Cagney * WaitBuilder.java (stopped(int,Signal)): Replace stopped(int,int). * cni/Wait.cxx (wait): Update. * UnhandledWaitBuilder.java: Update. * TestPtrace.java: Update. frysk-sys/frysk/testbed/ChangeLog 2008-01-21 Andrew Cagney * TearDownProcess.java: Update to match WaitBuilder.stopped(int,Signal). ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/proc/live/ChangeLog | 5 +++ frysk-core/frysk/proc/live/LinuxWaitBuilder.java | 31 +++++++++------------ frysk-sys/frysk/expunit/ChangeLog | 5 +++ frysk-sys/frysk/expunit/WaitObserver.java | 14 ++++----- frysk-sys/frysk/sys/ChangeLog | 5 +++ frysk-sys/frysk/sys/TestPtrace.java | 21 ++++++-------- frysk-sys/frysk/sys/UnhandledWaitBuilder.java | 9 +++--- frysk-sys/frysk/sys/WaitBuilder.java | 7 ++--- frysk-sys/frysk/sys/cni/Wait.cxx | 8 +++-- frysk-sys/frysk/testbed/AttachedSelf.java | 3 +- frysk-sys/frysk/testbed/ChangeLog | 5 +++ frysk-sys/frysk/testbed/TearDownProcess.java | 2 +- frysk-sys/frysk/testbed/TestTearDownProcess.java | 3 +- 13 files changed, 63 insertions(+), 55 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index e2106f8..26334fd 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,3 +1,8 @@ +2008-01-21 Andrew Cagney + + * LinuxWaitBuilder.java: Update to match + WaitBuilder.stopped(int,Signal). + 2008-01-18 Andrew Cagney * LinuxPtraceTask.java (sendDetach(int)): For SIGSTOP, send a diff --git a/frysk-core/frysk/proc/live/LinuxWaitBuilder.java b/frysk-core/frysk/proc/live/LinuxWaitBuilder.java index a7d2dac..2f0edab 100644 --- a/frysk-core/frysk/proc/live/LinuxWaitBuilder.java +++ b/frysk-core/frysk/proc/live/LinuxWaitBuilder.java @@ -90,25 +90,21 @@ class LinuxWaitBuilder * didn't exist) to the fscked-up list. Will get re-processed * later. */ - private void saveFsckedOrderedKernelStoppedEvent (final int aPid, - final int aSignal) - { + private void saveFsckedOrderedKernelStoppedEvent(final int aPid, + final Signal aSignal) { if (fsckedOrderedKernelEvents == null) - fsckedOrderedKernelEvents = new LinkedList (); - Event rescheduled = new Event () - { + fsckedOrderedKernelEvents = new LinkedList(); + Event rescheduled = new Event () { final int pid = aPid; - final int signal = aSignal; - public void execute () - { - LinuxWaitBuilder.this.stopped (pid, signal); + final Signal signal = aSignal; + public void execute() { + LinuxWaitBuilder.this.stopped(pid, signal); } - public String toString () - { + public String toString () { return "" + super.toString () + ",stopped,pid=" + pid; } }; - logger.log (Level.FINE, "{0} rescheduled\n", rescheduled); + logger.log(Level.FINE, "{0} rescheduled\n", rescheduled); fsckedOrderedKernelEvents.add (rescheduled); } @@ -202,8 +198,7 @@ class LinuxWaitBuilder task.processSyscalledEvent(); } - public void stopped (int pid, int sig) - { + public void stopped(int pid, Signal sig) { LinuxPtraceTask task = searchId.get(pid, "{0} stopped\n"); if (task == null) { // If there's no Task corresponding to TID, assume that @@ -214,12 +209,12 @@ class LinuxWaitBuilder saveFsckedOrderedKernelStoppedEvent (pid, sig); return; } - if (Signal.STOP.equals(sig)) + if (sig == Signal.STOP) task.processStoppedEvent(); - else if (Signal.TRAP.equals(sig)) + else if (sig == Signal.TRAP) task.processTrappedEvent(); else - task.processSignaledEvent(sig); + task.processSignaledEvent(sig.intValue()); } public void terminated (int pid, boolean signal, int value, diff --git a/frysk-sys/frysk/expunit/ChangeLog b/frysk-sys/frysk/expunit/ChangeLog index 2a1f8be..dff3059 100644 --- a/frysk-sys/frysk/expunit/ChangeLog +++ b/frysk-sys/frysk/expunit/ChangeLog @@ -1,3 +1,8 @@ +2008-01-21 Andrew Cagney + + * WaitObserver.java: Update to match + WaitBuilder.signal(int,Signal). + 2007-12-18 cagney * TestEquals.java (testToString()): New. diff --git a/frysk-sys/frysk/expunit/WaitObserver.java b/frysk-sys/frysk/expunit/WaitObserver.java index bbf8cba..378c2f2 100644 --- a/frysk-sys/frysk/expunit/WaitObserver.java +++ b/frysk-sys/frysk/expunit/WaitObserver.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 @@ -39,11 +39,10 @@ package frysk.expunit; +import frysk.sys.Signal; import frysk.sys.WaitBuilder; -class WaitObserver - implements WaitBuilder -{ +class WaitObserver implements WaitBuilder { private final int expectedStatus; /** * Observe wait status, expecting a specific termination value. @@ -71,10 +70,9 @@ class WaitObserver "Exited with status " + value); } } - public void stopped (int pid, int signal) - { - throw new TerminationException (expectedStatus, - "Stopped with signal " + signal); + public void stopped(int pid, Signal signal) { + throw new TerminationException(expectedStatus, + "Stopped with signal " + signal); } public void syscallEvent (int pid) { diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog index ea84c2d..5463eaf 100644 --- a/frysk-sys/frysk/sys/ChangeLog +++ b/frysk-sys/frysk/sys/ChangeLog @@ -1,5 +1,10 @@ 2008-01-21 Andrew Cagney + * WaitBuilder.java (stopped(int,Signal)): Replace stopped(int,int). + * cni/Wait.cxx (wait): Update. + * UnhandledWaitBuilder.java: Update. + * TestPtrace.java: Update. + * cni/Signal.cxx-sh (frysk): Update. * Signal.java-sh (signals): Use an array for known signals. (unknownSignals): New. diff --git a/frysk-sys/frysk/sys/TestPtrace.java b/frysk-sys/frysk/sys/TestPtrace.java index 965d9a0..9e2ba5b 100644 --- a/frysk-sys/frysk/sys/TestPtrace.java +++ b/frysk-sys/frysk/sys/TestPtrace.java @@ -76,10 +76,9 @@ public class TestPtrace { fail (why); } - public void stopped (int pid, int signal) { - assertEquals ("stopped pid", id, pid); - assertEquals ("stopped sig", Signal.TRAP, - Signal.valueOf(signal)); + public void stopped(int pid, Signal signal) { + assertEquals("stopped pid", id, pid); + assertEquals("stopped sig", Signal.TRAP, signal); } }); @@ -91,10 +90,9 @@ public class TestPtrace { fail (why); } - public void stopped (int pid, int signal) { - assertEquals ("stopped pid", id, pid); - assertEquals ("stopped sig", Signal.TRAP, - Signal.valueOf(signal)); + public void stopped(int pid, Signal signal) { + assertEquals("stopped pid", id, pid); + assertEquals("stopped sig", Signal.TRAP, signal); } }); @@ -140,10 +138,9 @@ public class TestPtrace { fail (why); } - public void stopped (int pid, int signal) { - assertEquals ("stopped pid", id, pid); - assertEquals("stopped sig", Signal.STOP, - Signal.valueOf(signal)); + public void stopped(int pid, Signal signal) { + assertEquals("stopped pid", id, pid); + assertEquals("stopped sig", Signal.STOP, signal); } }); diff --git a/frysk-sys/frysk/sys/UnhandledWaitBuilder.java b/frysk-sys/frysk/sys/UnhandledWaitBuilder.java index fe2c985..e11d091 100644 --- a/frysk-sys/frysk/sys/UnhandledWaitBuilder.java +++ b/frysk-sys/frysk/sys/UnhandledWaitBuilder.java @@ -122,12 +122,11 @@ public abstract class UnhandledWaitBuilder unhandled ("syscallEvent", pid); } /** - * The task PID stopped; if SIGNAL is non-zero, then SIGNAL is - * pending. + * The task PID stopped with SIGNAL pending (SIGNAL could be + * SIGNONE). */ - public void stopped (int pid, int signal) - { - unhandled ("stopped", pid, "signal", signal); + public void stopped(int pid, Signal signal) { + unhandled("stopped", pid, "signal", signal.toPrint()); } /** * The task PID terminated (WIFEXITED, WIFSIGNALED); if diff --git a/frysk-sys/frysk/sys/WaitBuilder.java b/frysk-sys/frysk/sys/WaitBuilder.java index 6ea82a0..fcd743b 100644 --- a/frysk-sys/frysk/sys/WaitBuilder.java +++ b/frysk-sys/frysk/sys/WaitBuilder.java @@ -1,6 +1,6 @@ // This file is part of the program FRYSK. // -// Copyright 2005, 2007, Red Hat Inc. +// Copyright 2005, 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 @@ -71,10 +71,9 @@ public interface WaitBuilder */ void syscallEvent (int pid); /** - * The task PID stopped; if SIGNAL is non-zero, then SIGNAL is - * pending. + * The task PID stopped with SIGNAL pending (could be SIGNONE). */ - void stopped (int pid, int signal); + void stopped(int pid, Signal signal); /** * The task PID terminated (WIFEXITED, WIFSIGNALED); if * SIGNAL, VALUE is the +ve terminating signal, otherwize diff --git a/frysk-sys/frysk/sys/cni/Wait.cxx b/frysk-sys/frysk/sys/cni/Wait.cxx index 08f92cf..53935d4 100644 --- a/frysk-sys/frysk/sys/cni/Wait.cxx +++ b/frysk-sys/frysk/sys/cni/Wait.cxx @@ -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 @@ -61,6 +61,7 @@ #include "frysk/sys/Signal.h" #include "frysk/sys/cni/SignalSet.hxx" #include "frysk/sys/SignalSet.h" +#include "frysk/sys/Signal.h" #include "frysk/sys/WaitBuilder.h" #include "frysk/sys/SignalBuilder.h" @@ -206,8 +207,9 @@ processStatus (int pid, int status, int signum = WSTOPSIG (status); if (signum >= 0x80) builder->syscallEvent (pid); - else - builder->stopped (pid, signum); + else { + builder->stopped(pid, frysk::sys::Signal::valueOf(signum)); + } } break; default: diff --git a/frysk-sys/frysk/testbed/AttachedSelf.java b/frysk-sys/frysk/testbed/AttachedSelf.java index ad72000..33c7942 100644 --- a/frysk-sys/frysk/testbed/AttachedSelf.java +++ b/frysk-sys/frysk/testbed/AttachedSelf.java @@ -65,8 +65,7 @@ public class AttachedSelf { TestCase.fail (why); } - public void stopped (int pid, int signal) - { + public void stopped(int pid, Signal signal) { // cool! } }, diff --git a/frysk-sys/frysk/testbed/ChangeLog b/frysk-sys/frysk/testbed/ChangeLog index 7c3cb6e..2d3ccbb 100644 --- a/frysk-sys/frysk/testbed/ChangeLog +++ b/frysk-sys/frysk/testbed/ChangeLog @@ -1,3 +1,8 @@ +2008-01-21 Andrew Cagney + + * TearDownProcess.java: Update to match + WaitBuilder.stopped(int,Signal). + 2007-12-04 Andrew Cagney Merge frysk.sys.Sig into frysk.sys.Signal. diff --git a/frysk-sys/frysk/testbed/TearDownProcess.java b/frysk-sys/frysk/testbed/TearDownProcess.java index 87bc591..6d70637 100644 --- a/frysk-sys/frysk/testbed/TearDownProcess.java +++ b/frysk-sys/frysk/testbed/TearDownProcess.java @@ -274,7 +274,7 @@ public class TearDownProcess capturedSendDetachContKill(pid); } - public void stopped (int pid, int signal) { + public void stopped(int pid, Signal signal) { capturedSendDetachContKill(pid); } diff --git a/frysk-sys/frysk/testbed/TestTearDownProcess.java b/frysk-sys/frysk/testbed/TestTearDownProcess.java index e0715a7..13716a3 100644 --- a/frysk-sys/frysk/testbed/TestTearDownProcess.java +++ b/frysk-sys/frysk/testbed/TestTearDownProcess.java @@ -81,8 +81,7 @@ public class TestTearDownProcess { fail (why); } - public void stopped (int pid, int signal) - { + public void stopped(int pid, Signal signal) { // Toss. } }, hooks/post-receive -- frysk system monitor/debugger