public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
From: cagney@sourceware.org
To: frysk-cvs@sourceware.org
Subject: [SCM]  master: Simplify frysk.sys.Child and Daemon, return ProcessIdentifier.
Date: Thu, 07 Feb 2008 16:39:00 -0000	[thread overview]
Message-ID: <20080207163901.14637.qmail@sourceware.org> (raw)

The branch, master has been updated
       via  9c26f2e7af2906f4fa80bc346f0d91e3570c9599 (commit)
      from  f0af780514b6076f72a50c4b76cabf13437fa51e (commit)

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

- Log -----------------------------------------------------------------
commit 9c26f2e7af2906f4fa80bc346f0d91e3570c9599
Author: Andrew Cagney <cagney@redhat.com>
Date:   Thu Feb 7 11:38:08 2008 -0500

    Simplify frysk.sys.Child and Daemon, return ProcessIdentifier.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* TestByteBuffer.java: Use ForkFactory.
    
    frysk-sys/frysk/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* ForkFactory.java: New.
    
    frysk-sys/frysk/sys/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* DaemonFactory.java: Replace Daemon.java.
    	* cni/DaemonFactory.cxx: Replace cni/Daemon.cxx.
    	* ChildFactory.java: Replace Child.java.
    	* cni/ChildFactory.cxx: Replace cni/Child.cxx.
    	* ChildPipePair.java: Update.
    	* DaemonPipePair.java: Update.
    	* PseudoTerminal.java: Update.
    	* TestPtrace.java: Update.
    
    frysk-sys/frysk/testbed/ChangeLog
    2008-02-07  Andrew Cagney  <cagney@redhat.com>
    
    	* ForkFactory.java: New.
    	* DetachedSelf.java: Delete.
    	* AttachedSelf.java: Delete.

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

Summary of changes:
 frysk-core/frysk/proc/live/ChangeLog               |    4 +
 frysk-core/frysk/proc/live/TestByteBuffer.java     |    4 +-
 frysk-sys/frysk/ChangeLog                          |    4 +
 frysk-sys/frysk/sys/ChangeLog                      |   11 +++
 .../frysk/sys/{Child.java => ChildFactory.java}    |   12 ++--
 frysk-sys/frysk/sys/ChildPipePair.java             |   23 ++----
 .../frysk/sys/{Daemon.java => DaemonFactory.java}  |   17 ++---
 frysk-sys/frysk/sys/DaemonPipePair.java            |   21 ++----
 frysk-sys/frysk/sys/PseudoTerminal.java            |   10 +--
 frysk-sys/frysk/sys/TestPtrace.java                |   64 ++++++++----------
 .../frysk/sys/cni/{Child.cxx => ChildFactory.cxx}  |    8 +-
 .../sys/cni/{Daemon.cxx => DaemonFactory.cxx}      |    8 +-
 frysk-sys/frysk/testbed/ChangeLog                  |    6 ++
 frysk-sys/frysk/testbed/DetachedSelf.java          |   71 --------------------
 .../{AttachedSelf.java => ForkFactory.java}        |   46 +++++++++----
 15 files changed, 128 insertions(+), 181 deletions(-)
 rename frysk-sys/frysk/sys/{Child.java => ChildFactory.java} (90%)
 rename frysk-sys/frysk/sys/{Daemon.java => DaemonFactory.java} (89%)
 rename frysk-sys/frysk/sys/cni/{Child.cxx => ChildFactory.cxx} (94%)
 rename frysk-sys/frysk/sys/cni/{Daemon.cxx => DaemonFactory.cxx} (95%)
 delete mode 100644 frysk-sys/frysk/testbed/DetachedSelf.java
 rename frysk-sys/frysk/testbed/{AttachedSelf.java => ForkFactory.java} (76%)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index 73a40a1..ef7a60b 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-07  Andrew Cagney  <cagney@redhat.com>
+
+	* TestByteBuffer.java: Use ForkFactory.
+
 2008-02-06  Andrew Cagney  <cagney@redhat.com>
 
 	* LinuxWaitBuilder.java: Update to match WaitBuilder's
diff --git a/frysk-core/frysk/proc/live/TestByteBuffer.java b/frysk-core/frysk/proc/live/TestByteBuffer.java
index c352985..ec40b29 100644
--- a/frysk-core/frysk/proc/live/TestByteBuffer.java
+++ b/frysk-core/frysk/proc/live/TestByteBuffer.java
@@ -44,7 +44,7 @@ import frysk.junit.TestCase;
 import frysk.proc.Task;
 import frysk.proc.Proc;
 import frysk.proc.dummy.DummyProc;
-import frysk.testbed.AttachedSelf;
+import frysk.testbed.ForkFactory;
 import frysk.testbed.DaemonBlockedAtEntry;
 import frysk.testbed.LocalMemory;
 import frysk.sys.Ptrace.RegisterSet;
@@ -75,7 +75,7 @@ public class TestByteBuffer
       // Watch for spawned processes, etc.
       super.setUp();
 
-      pid = new AttachedSelf().hashCode();
+      pid = ForkFactory.attachedDaemon().intValue();
 
       // Text and Data are the same, but can be accessed independently.
       addressSpaceByteBufferText
diff --git a/frysk-sys/frysk/ChangeLog b/frysk-sys/frysk/ChangeLog
index 4f228dd..ae456df 100644
--- a/frysk-sys/frysk/ChangeLog
+++ b/frysk-sys/frysk/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-07  Andrew Cagney  <cagney@redhat.com>
+
+	* ForkFactory.java: New.
+
 2008-01-07  Nurdin Premji  <npremji@redhat.com>
 
 	* CompilerVersion.java: Added (C).
diff --git a/frysk-sys/frysk/sys/ChangeLog b/frysk-sys/frysk/sys/ChangeLog
index 573500a..5248ce2 100644
--- a/frysk-sys/frysk/sys/ChangeLog
+++ b/frysk-sys/frysk/sys/ChangeLog
@@ -1,3 +1,14 @@
+2008-02-07  Andrew Cagney  <cagney@redhat.com>
+
+	* DaemonFactory.java: Replace Daemon.java.
+	* cni/DaemonFactory.cxx: Replace cni/Daemon.cxx.
+	* ChildFactory.java: Replace Child.java.
+	* cni/ChildFactory.cxx: Replace cni/Child.cxx.
+	* ChildPipePair.java: Update.
+	* DaemonPipePair.java: Update.
+	* PseudoTerminal.java: Update.
+	* TestPtrace.java: Update.
+
 2008-02-06  Andrew Cagney  <cagney@redhat.com>
 
 	* WaitBuilder.java (syscallEvent(ProcessIdentifier)): Replace
diff --git a/frysk-sys/frysk/sys/Child.java b/frysk-sys/frysk/sys/ChildFactory.java
similarity index 90%
rename from frysk-sys/frysk/sys/Child.java
rename to frysk-sys/frysk/sys/ChildFactory.java
index 825bf14..8be6ea1 100644
--- a/frysk-sys/frysk/sys/Child.java
+++ b/frysk-sys/frysk/sys/ChildFactory.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
@@ -39,7 +39,7 @@
 
 package frysk.sys;
 
-public class Child extends ProcessIdentifierDecorator {
+public class ChildFactory {
     /**
      * Create a child process (direct decendant of this process) that
      * redirects its I/O to REDIRECT, and executes EXEC.
@@ -53,15 +53,15 @@ public class Child extends ProcessIdentifierDecorator {
      *
      * Package private.
      */
-    Child(Redirect redirect, Execute exec) {
-	super (child (redirect, exec));
+    public static ProcessIdentifier create(Redirect redirect, Execute exec) {
+	return child(redirect, exec);
     }
     /**
      * Create a child wired to nothing; STDIN is closed, STDOUT/ERROR
      * are the same as for this process.
      */
-    public Child(Execute exec) {
-	this(new Redirect() {
+    public static ProcessIdentifier create(Execute exec) {
+	return create(new Redirect() {
 		protected void reopen() {
 		    FileDescriptor.in.close ();
 		}
diff --git a/frysk-sys/frysk/sys/ChildPipePair.java b/frysk-sys/frysk/sys/ChildPipePair.java
index bbb1e43..bbe62c9 100644
--- a/frysk-sys/frysk/sys/ChildPipePair.java
+++ b/frysk-sys/frysk/sys/ChildPipePair.java
@@ -47,22 +47,15 @@ package frysk.sys;
  * The child process is created using the method spawn.
  */
 
-public class ChildPipePair
-    extends PipePair
-{
-    protected ProcessIdentifier spawn (Redirect redirect,
-				       Execute exec)
-    {
-	return new Child (redirect, exec);
+public class ChildPipePair extends PipePair {
+    protected ProcessIdentifier spawn(Redirect redirect,
+				      Execute exec) {
+	return ChildFactory.create(redirect, exec);
     }
-
-    public ChildPipePair (String[] argv)
-    {
-	super (new Exec (argv));
+    public ChildPipePair(String[] argv) {
+	super(new Exec(argv));
     }
-
-    public ChildPipePair (Execute exec)
-    {
-	super (exec);
+    public ChildPipePair(Execute exec) {
+	super(exec);
     }
 }
diff --git a/frysk-sys/frysk/sys/Daemon.java b/frysk-sys/frysk/sys/DaemonFactory.java
similarity index 89%
rename from frysk-sys/frysk/sys/Daemon.java
rename to frysk-sys/frysk/sys/DaemonFactory.java
index 6b2cf3d..4941eaf 100644
--- a/frysk-sys/frysk/sys/Daemon.java
+++ b/frysk-sys/frysk/sys/DaemonFactory.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
@@ -44,12 +44,12 @@ package frysk.sys;
  * the parent.
  */
 
-public class Daemon extends ProcessIdentifierDecorator {
+public class DaemonFactory {
     /**
      * Create a daemon process (child of process 1 a.k.a. init) that
      * redirects its I/O to REDIRECT, and executes EXEC.
      *
-     * Package private.
+     * Private.
      */
     private static native ProcessIdentifier daemon(Redirect redirect,
 						   Execute exec);
@@ -57,21 +57,20 @@ public class Daemon extends ProcessIdentifierDecorator {
     /**
      * Create a daemon wired to REDIRECT, and running EXEC.
      */
-    Daemon(Redirect redirect, Execute exec) {
-	super (daemon (redirect, exec));
+    public static ProcessIdentifier create(Redirect redirect, Execute exec) {
+	return daemon(redirect, exec);
     }
 
     /**
      * Create a daemon wired to nothing; STDIN is closed, STDOUT/ERROR
      * are the same as for this process.
      */
-    public Daemon(Execute exec) {
-	this(new Redirect() {
+    public static ProcessIdentifier create(Execute exec) {
+	return create(new Redirect() {
 		protected void reopen() {
 		    FileDescriptor.in.close();
 		}
-		protected void close()
-		{
+		protected void close() {
 		}
 	    }, exec);
     }
diff --git a/frysk-sys/frysk/sys/DaemonPipePair.java b/frysk-sys/frysk/sys/DaemonPipePair.java
index 80cf9f8..b040b3c 100644
--- a/frysk-sys/frysk/sys/DaemonPipePair.java
+++ b/frysk-sys/frysk/sys/DaemonPipePair.java
@@ -43,21 +43,16 @@ package frysk.sys;
  * A pair of pipes wired to a daemon process.
  */
 
-public class DaemonPipePair
-    extends PipePair
-{
-    protected ProcessIdentifier spawn (Redirect redirect,
-				       Execute exec)
-    {
-	return new Daemon (redirect, exec);
+public class DaemonPipePair extends PipePair {
+    protected ProcessIdentifier spawn(Redirect redirect,
+				      Execute exec) {
+	return DaemonFactory.create(redirect, exec);
     }
-    public DaemonPipePair (String[] argv)
-    {
-	super (new Exec (argv));
+    public DaemonPipePair(String[] argv) {
+	super(new Exec (argv));
     }
 
-    public DaemonPipePair (Execute exec)
-    {
-	super (exec);
+    public DaemonPipePair(Execute exec) {
+	super(exec);
     }
 }
diff --git a/frysk-sys/frysk/sys/PseudoTerminal.java b/frysk-sys/frysk/sys/PseudoTerminal.java
index 05acfa6..43bfe2c 100755
--- a/frysk-sys/frysk/sys/PseudoTerminal.java
+++ b/frysk-sys/frysk/sys/PseudoTerminal.java
@@ -119,17 +119,15 @@ public class PseudoTerminal
      * Convenience method, adds a child process bound to this
      * pseudo-terminal.
      */
-    public ProcessIdentifier addChild (String[] args)
-    {
-	return new Child (new RedirectStdio (name), new Exec (args));
+    public ProcessIdentifier addChild(String[] args) {
+	return ChildFactory.create(new RedirectStdio (name), new Exec (args));
     }
 
     /**
      * Convenience method, adds a daemon process bound to this
      * pseudo-terminal.
      */
-    public ProcessIdentifier addDaemon (String[] args)
-    {
-	return new Daemon (new RedirectStdio (name), new Exec (args));
+    public ProcessIdentifier addDaemon(String[] args) {
+	return DaemonFactory.create(new RedirectStdio (name), new Exec (args));
     }
 }
diff --git a/frysk-sys/frysk/sys/TestPtrace.java b/frysk-sys/frysk/sys/TestPtrace.java
index 9282fe6..0b68caf 100644
--- a/frysk-sys/frysk/sys/TestPtrace.java
+++ b/frysk-sys/frysk/sys/TestPtrace.java
@@ -41,7 +41,7 @@ package frysk.sys;
 
 import frysk.junit.TestCase;
 import frysk.testbed.TearDownProcess;
-import frysk.testbed.AttachedSelf;
+import frysk.testbed.ForkFactory;
 import frysk.sys.Ptrace.AddressSpace;
 import frysk.testbed.LocalMemory;
 import frysk.testbed.LocalMemory.StackBuilder;
@@ -113,9 +113,8 @@ public class TestPtrace
     /**
      * Check attach (to oneself).
      */
-    public void testAttachDetach ()
-    {
-	final ProcessIdentifier pid = new Daemon(new Execute() {
+    public void testAttachDetach() {
+	final ProcessIdentifier pid = DaemonFactory.create(new Execute() {
 		public void execute() {
 		    Itimer.sleep (TestCase.getTimeoutSeconds());
 		}
@@ -130,7 +129,7 @@ public class TestPtrace
 		    fail (why);
 		}
 		public void stopped(ProcessIdentifier pid, Signal signal) {
-		    assertEquals("stopped pid", id, pid);
+		    assertSame("stopped pid", id, pid);
 		    assertSame("stopped sig", Signal.STOP, signal);
 		}
 	    });
@@ -149,22 +148,20 @@ public class TestPtrace
 	assertEquals("Errno", Errno.Echild.class, errno.getClass());
     }
 
-    private void verifyBytes (String what, int pid,
-			      AddressSpace space,
-			      byte[] bytes, long addr)
-    {
+    private void verifyBytes(String what, ProcessIdentifier pid,
+			     AddressSpace space,
+			     byte[] bytes, long addr) {
 	for (int i = 0; i < bytes.length; i++) {
-	    assertEquals (what + " " + i + " at " + addr + " in " + space,
-			  bytes[i] & 0xff, // signed - ulgh
-			  space.peek(pid, addr + i));
+	    assertEquals(what + " " + i + " at " + addr + " in " + space,
+			 bytes[i] & 0xff, // signed - ulgh
+			 space.peek(pid, addr + i));
 	}
     }
 
     private void verifyPeek (String what, AddressSpace space,
 			     byte[] bytes, long addr)
     {
-	verifyBytes (what, new AttachedSelf ().hashCode(),
-		     space, bytes, addr);
+	verifyBytes (what, ForkFactory.attachedDaemon(), space, bytes, addr);
     }
     public void testTextValPeek ()
     {
@@ -207,14 +204,13 @@ public class TestPtrace
 	    });
     }
 
-    public void verifyPoke (String what, AddressSpace space,
-			    byte[] bytes, long addr)
-    {
-	int pid = new AttachedSelf ().hashCode();
+    public void verifyPoke(String what, AddressSpace space,
+			   byte[] bytes, long addr) {
+	ProcessIdentifier pid = ForkFactory.attachedDaemon();
 	for (byte i = 4; i < 12; i++) {
 	    space.poke(pid, addr + i, i);
 	    bytes[i] = i;
-	    verifyBytes (what, pid, space, bytes, addr);
+	    verifyBytes(what, pid, space, bytes, addr);
 	}
     }
     public void testTextValPoke ()
@@ -258,10 +254,9 @@ public class TestPtrace
 	    });
     }
 
-    private void verifyPeekBytes (String why, AddressSpace space,
-				  byte[] startBytes, long startAddr)
-    {
-	int pid = new AttachedSelf().hashCode();
+    private void verifyPeekBytes(String why, AddressSpace space,
+				 byte[] startBytes, long startAddr) {
+	ProcessIdentifier pid = ForkFactory.attachedDaemon();
 	byte[] pidBytes = new byte[startBytes.length];
 	byte[] myBytes = new byte[startBytes.length];
 	for (int addr = 4; addr < 9; addr++) {
@@ -326,10 +321,9 @@ public class TestPtrace
 	    });
     }
 
-    private void verifyPokeBytes (String why, AddressSpace space,
-				  byte[] startBytes, long startAddr)
-    {
-	int pid = new AttachedSelf().hashCode();
+    private void verifyPokeBytes(String why, AddressSpace space,
+				 byte[] startBytes, long startAddr) {
+	ProcessIdentifier pid = ForkFactory.attachedDaemon();
 	byte[] newBytes = new byte[startBytes.length];
 	byte[] myBytes = new byte[startBytes.length];
 	byte[] pidBytes = new byte[startBytes.length];
@@ -402,19 +396,17 @@ public class TestPtrace
 	    });
     }
 
-    private void verifyOutOfBounds (String why, boolean expected,
-				    int length, byte[] bytes, int offset)
-    {
-	int pid = new AttachedSelf().hashCode();
+    private void verifyOutOfBounds(String why, boolean expected,
+				   int length, byte[] bytes, int offset) {
+	ProcessIdentifier pid = ForkFactory.attachedDaemon();
 	boolean caught = false;
 	try {
-	    AddressSpace.DATA.peek (pid, LocalMemory.getCodeAddr (), length,
-				    bytes, offset);
-	}
-	catch (ArrayIndexOutOfBoundsException e) {
+	    AddressSpace.DATA.peek(pid, LocalMemory.getCodeAddr (), length,
+				   bytes, offset);
+	} catch (ArrayIndexOutOfBoundsException e) {
 	    caught = true;
 	}
-	assertEquals (why + " exception", expected, caught);
+	assertEquals(why + " exception", expected, caught);
     }
     public void testLengthUnderBound ()
     {
diff --git a/frysk-sys/frysk/sys/cni/Child.cxx b/frysk-sys/frysk/sys/cni/ChildFactory.cxx
similarity index 94%
rename from frysk-sys/frysk/sys/cni/Child.cxx
rename to frysk-sys/frysk/sys/cni/ChildFactory.cxx
index 26741bf..4c5ef9b 100644
--- a/frysk-sys/frysk/sys/cni/Child.cxx
+++ b/frysk-sys/frysk/sys/cni/ChildFactory.cxx
@@ -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
@@ -51,13 +51,13 @@
 #include "frysk/sys/ProcessIdentifier.h"
 #include "frysk/sys/ProcessIdentifierFactory.h"
 #include "frysk/sys/ProcessIdentifierDecorator.h"
-#include "frysk/sys/Child.h"
+#include "frysk/sys/ChildFactory.h"
 #include "frysk/sys/Redirect.h"
 #include "frysk/sys/Execute.h"
 
 frysk::sys::ProcessIdentifier*
-frysk::sys::Child::child (frysk::sys::Redirect* redirect,
-			  frysk::sys::Execute* exec)
+frysk::sys::ChildFactory::child (frysk::sys::Redirect* redirect,
+				 frysk::sys::Execute* exec)
 {
   // Fork/exec
   errno = 0;
diff --git a/frysk-sys/frysk/sys/cni/Daemon.cxx b/frysk-sys/frysk/sys/cni/DaemonFactory.cxx
similarity index 95%
rename from frysk-sys/frysk/sys/cni/Daemon.cxx
rename to frysk-sys/frysk/sys/cni/DaemonFactory.cxx
index f4b5d60..46b8a53 100644
--- a/frysk-sys/frysk/sys/cni/Daemon.cxx
+++ b/frysk-sys/frysk/sys/cni/DaemonFactory.cxx
@@ -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
@@ -51,13 +51,13 @@
 #include "frysk/sys/ProcessIdentifier.h"
 #include "frysk/sys/ProcessIdentifierFactory.h"
 #include "frysk/sys/ProcessIdentifierDecorator.h"
-#include "frysk/sys/Daemon.h"
+#include "frysk/sys/DaemonFactory.h"
 #include "frysk/sys/Redirect.h"
 #include "frysk/sys/Execute.h"
 
 frysk::sys::ProcessIdentifier*
-frysk::sys::Daemon::daemon (frysk::sys::Redirect* redirect,
-			    frysk::sys::Execute* exec)
+frysk::sys::DaemonFactory::daemon(frysk::sys::Redirect* redirect,
+				  frysk::sys::Execute* exec)
 {
   volatile int pid = -1;
 
diff --git a/frysk-sys/frysk/testbed/ChangeLog b/frysk-sys/frysk/testbed/ChangeLog
index a06ff7c..d038eb5 100644
--- a/frysk-sys/frysk/testbed/ChangeLog
+++ b/frysk-sys/frysk/testbed/ChangeLog
@@ -1,3 +1,9 @@
+2008-02-07  Andrew Cagney  <cagney@redhat.com>
+
+	* ForkFactory.java: New.
+	* DetachedSelf.java: Delete.
+	* AttachedSelf.java: Delete.
+
 2008-02-06  Andrew Cagney  <cagney@redhat.com>
 
 	* TearDownProcess.java: Update to match WaitBuilder's stopped,
diff --git a/frysk-sys/frysk/testbed/DetachedSelf.java b/frysk-sys/frysk/testbed/DetachedSelf.java
deleted file mode 100644
index b8daf72..0000000
--- a/frysk-sys/frysk/testbed/DetachedSelf.java
+++ /dev/null
@@ -1,71 +0,0 @@
-// This file is part of the program FRYSK.
-//
-// Copyright 2007, 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
-// the Free Software Foundation; version 2 of the License.
-//
-// FRYSK is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-// 
-// You should have received a copy of the GNU General Public License
-// along with FRYSK; if not, write to the Free Software Foundation,
-// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-// 


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


                 reply	other threads:[~2008-02-07 16:39 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=20080207163901.14637.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).