public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Simplify frysk.sys.Child and Daemon, return ProcessIdentifier.
@ 2008-02-07 16:39 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-02-07 16:39 UTC (permalink / raw)
  To: frysk-cvs

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


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

only message in thread, other threads:[~2008-02-07 16:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-07 16:39 [SCM] master: Simplify frysk.sys.Child and Daemon, return ProcessIdentifier 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).