public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Pass up a Signal, and not an int, in frysk.sys.WaitBuilder.
@ 2008-01-22  3:35 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-01-22  3:35 UTC (permalink / raw)
  To: frysk-cvs

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 <cagney@redhat.com>
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  <cagney@redhat.com>
    
    	* LinuxWaitBuilder.java: Update to match
    	WaitBuilder.stopped(int,Signal).
    
    frysk-sys/frysk/expunit/ChangeLog
    2008-01-21  Andrew Cagney  <cagney@redhat.com>
    
    	* WaitObserver.java: Update to match
    	WaitBuilder.signal(int,Signal).
    
    frysk-sys/frysk/sys/ChangeLog
    2008-01-21  Andrew Cagney  <cagney@redhat.com>
    
    	* 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  <cagney@redhat.com>
    
    	* 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  <cagney@redhat.com>
+
+	* LinuxWaitBuilder.java: Update to match
+	WaitBuilder.stopped(int,Signal).
+
 2008-01-18  Andrew Cagney  <cagney@redhat.com>
 
 	* 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  <cagney@redhat.com>
+
+	* WaitObserver.java: Update to match
+	WaitBuilder.signal(int,Signal).
+
 2007-12-18  cagney  <cagney@redhat.com>
 
 	* 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  <cagney@redhat.com>
 
+	* 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  <cagney@redhat.com>
+
+	* TearDownProcess.java: Update to match
+	WaitBuilder.stopped(int,Signal).
+
 2007-12-04  Andrew Cagney  <cagney@redhat.com>
 
 	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


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

only message in thread, other threads:[~2008-01-22  3:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-01-22  3:35 [SCM] master: Pass up a Signal, and not an int, in frysk.sys.WaitBuilder 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).