public inbox for frysk-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM]  master: Pass up simple int in Proc constructor.
@ 2008-02-14 18:53 cagney
  0 siblings, 0 replies; only message in thread
From: cagney @ 2008-02-14 18:53 UTC (permalink / raw)
  To: frysk-cvs

The branch, master has been updated
       via  536bdb48547f55541dca484b61a1ba930363e407 (commit)
      from  4b2ea8d18773d7a72663c59a6817828be8cd8bbc (commit)

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

- Log -----------------------------------------------------------------
commit 536bdb48547f55541dca484b61a1ba930363e407
Author: Andrew Cagney <cagney@redhat.com>
Date:   Thu Feb 14 13:53:04 2008 -0500

    Pass up simple int in Proc constructor.
    
    frysk-core/frysk/proc/ChangeLog
    2008-02-14  Andrew Cagney  <cagney@redhat.com>
    
    	* Proc.java (pid): New; Pass to constructors.
    
    frysk-core/frysk/proc/dead/ChangeLog
    2008-02-14  Andrew Cagney  <cagney@redhat.com>
    
    	* DeadProc.java: Update to match Proc.
    	* LinuxCoreHost.java: Ditto.
    	* LinuxExeHost.java: Ditto.
    	* LinuxExeProc.java: Ditto.
    	* LinuxCoreProc.java: Ditto.
    
    frysk-core/frysk/proc/dummy/ChangeLog
    2008-02-14  Andrew Cagney  <cagney@redhat.com>
    
    	* DummyProc.java: Update to match Proc.
    
    frysk-core/frysk/proc/live/ChangeLog
    2008-02-14  Andrew Cagney  <cagney@redhat.com>
    
    	* LiveProc.java: Replace ProcId with ProcessIdentifier and int.
    	* LinuxPtraceProc.java: Update.
    	* LinuxPtraceHost.java: Ditto.
    
    frysk-sys/frysk/rsl/ChangeLog
    2008-02-14  Andrew Cagney  <cagney@redhat.com>
    
    	* Log.java: Add more log methods.

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

Summary of changes:
 frysk-core/frysk/proc/ChangeLog                 |    4 ++++
 frysk-core/frysk/proc/Proc.java                 |   16 +++++++++-------
 frysk-core/frysk/proc/dead/ChangeLog            |    7 +++++++
 frysk-core/frysk/proc/dead/DeadProc.java        |    5 ++---
 frysk-core/frysk/proc/dead/LinuxCoreHost.java   |    7 ++++---
 frysk-core/frysk/proc/dead/LinuxCoreProc.java   |    7 +++----
 frysk-core/frysk/proc/dead/LinuxExeHost.java    |    2 +-
 frysk-core/frysk/proc/dead/LinuxExeProc.java    |    7 ++-----
 frysk-core/frysk/proc/dummy/ChangeLog           |    2 ++
 frysk-core/frysk/proc/dummy/DummyProc.java      |    3 +--
 frysk-core/frysk/proc/live/ChangeLog            |    4 ++++
 frysk-core/frysk/proc/live/LinuxPtraceHost.java |    3 +--
 frysk-core/frysk/proc/live/LinuxPtraceProc.java |    6 +++---
 frysk-core/frysk/proc/live/LiveProc.java        |   14 +++++++++-----
 frysk-sys/frysk/rsl/ChangeLog                   |    4 ++++
 frysk-sys/frysk/rsl/Log.java                    |    5 +++++
 16 files changed, 61 insertions(+), 35 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog
index c3e52f0..260a1b0 100644
--- a/frysk-core/frysk/proc/ChangeLog
+++ b/frysk-core/frysk/proc/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-14  Andrew Cagney  <cagney@redhat.com>
+
+	* Proc.java (pid): New; Pass to constructors.
+
 2008-02-13  Andrew Cagney  <cagney@redhat.com>
 
 	* Task.java (tid): New.  Replace TaskId with "int tid" in
diff --git a/frysk-core/frysk/proc/Proc.java b/frysk-core/frysk/proc/Proc.java
index 2e87a8e..65a0ba7 100644
--- a/frysk-core/frysk/proc/Proc.java
+++ b/frysk-core/frysk/proc/Proc.java
@@ -96,8 +96,9 @@ public abstract class Proc implements Comparable {
     private final Host host;
 
     public int getPid() {
-	return id.hashCode();
+	return pid;
     }
+    private final int pid;
 
     /**
      * Return the basename of the program that this process is
@@ -148,9 +149,10 @@ public abstract class Proc implements Comparable {
      * Create a new Proc skeleton. Since PARENT could be NULL,
      * explicitly specify the HOST.
      */
-    private Proc(ProcId id, Proc parent, Host host, Task creator) {
+    private Proc(int pid, Proc parent, Host host, Task creator) {
 	this.host = host;
-	this.id = id;
+	this.pid = pid;
+	this.id = new ProcId(pid);
 	this.parent = parent;
 	this.creator = creator;
 	// Keep parent informed.
@@ -164,8 +166,8 @@ public abstract class Proc implements Comparable {
      * Create a new, unattached, running, Proc. Since PARENT could be
      * NULL, explicitly specify the HOST.
      */
-    protected Proc(Host host, Proc parent, ProcId id) {
-	this(id, parent, host, null);
+    protected Proc(Host host, Proc parent, int pid) {
+	this(pid, parent, host, null);
 	logger.log(Level.FINEST, "{0} new - create unattached running proc\n", this);
     }
 
@@ -179,8 +181,8 @@ public abstract class Proc implements Comparable {
      * a Task, while it has the Observable, it doesn't have the
      * containing proc.
      */
-    protected Proc(Task task, ProcId forkId) {
-	this(forkId, task.getProc(), task.getProc().getHost(), task);
+    protected Proc(Task task, int fork) {
+	this(fork, task.getProc(), task.getProc().getHost(), task);
 	logger.log(Level.FINE, "{0} new - create attached running proc\n", this);
     }
 
diff --git a/frysk-core/frysk/proc/dead/ChangeLog b/frysk-core/frysk/proc/dead/ChangeLog
index aa3fdd0..d3ef403 100644
--- a/frysk-core/frysk/proc/dead/ChangeLog
+++ b/frysk-core/frysk/proc/dead/ChangeLog
@@ -1,5 +1,12 @@
 2008-02-14  Andrew Cagney  <cagney@redhat.com>
 
+	* DeadProc.java: Update to match Proc.
+	* LinuxCoreHost.java: Ditto.
+	* LinuxExeHost.java: Ditto.
+	* LinuxExeProc.java: Ditto.
+
+	* LinuxCoreProc.java: Ditto.
+
 	* DeadTask.java: Update to match Task.
 	* LinuxCoreTask.java: Ditto.
 	* LinuxExeTask.java: Ditto.
diff --git a/frysk-core/frysk/proc/dead/DeadProc.java b/frysk-core/frysk/proc/dead/DeadProc.java
index 3e8c373..d89f3a6 100644
--- a/frysk-core/frysk/proc/dead/DeadProc.java
+++ b/frysk-core/frysk/proc/dead/DeadProc.java
@@ -41,7 +41,6 @@ package frysk.proc.dead;
 
 import java.util.logging.Level;
 import frysk.proc.Proc;
-import frysk.proc.ProcId;
 import frysk.proc.Host;
 import frysk.proc.Manager;
 import frysk.proc.ProcEvent;
@@ -53,8 +52,8 @@ import frysk.proc.ProcEvent;
  */
 
 public abstract class DeadProc extends Proc {
-    DeadProc(Host host, Proc parent, ProcId id) {
-	super(host, parent, id);
+    DeadProc(Host host, Proc parent, int pid) {
+	super(host, parent, pid);
     }
 
     /**
diff --git a/frysk-core/frysk/proc/dead/LinuxCoreHost.java b/frysk-core/frysk/proc/dead/LinuxCoreHost.java
index 10d81a3..1ea397d 100644
--- a/frysk-core/frysk/proc/dead/LinuxCoreHost.java
+++ b/frysk-core/frysk/proc/dead/LinuxCoreHost.java
@@ -179,14 +179,15 @@ public class LinuxCoreHost extends DeadHost {
 	    final ElfPrpsinfo coreProc = ElfPrpsinfo.decode(proc_pid);
 	    final ProcId procId = new ProcId(coreProc.getPrPid());
 	    // Currently there can only be one process per core file.
-	    // What happens when we have two core files denoting the same
-	    // process/pid? Leave the test here for now.
+	    // What happens when we have two core files denoting the
+	    // same process/pid? Leave the test here for now.
 
 	    Proc proc = (Proc) procPool.get(procId);
 	    if (proc == null) {
 		// core file processes have no parents as thy are captured
 		// in isolation, and reconstructed.
-		proc = new LinuxCoreProc(proc_pid, LinuxCoreHost.this, procId);
+		proc = new LinuxCoreProc(proc_pid, LinuxCoreHost.this,
+					 coreProc.getPrPid());
 	    }
 
 	    addedProcs.add(proc);
diff --git a/frysk-core/frysk/proc/dead/LinuxCoreProc.java b/frysk-core/frysk/proc/dead/LinuxCoreProc.java
index 5ea4396..7e7fe87 100644
--- a/frysk-core/frysk/proc/dead/LinuxCoreProc.java
+++ b/frysk-core/frysk/proc/dead/LinuxCoreProc.java
@@ -55,7 +55,6 @@ import frysk.sys.proc.AuxvBuilder;
 import java.util.Iterator;
 import java.io.File;
 import java.util.ArrayList;
-import frysk.proc.ProcId;
 import frysk.proc.Task;
 import frysk.proc.Auxv;
 import frysk.proc.MemoryMap;
@@ -78,12 +77,12 @@ public class LinuxCoreProc extends DeadProc {
     private static final Log fine = Log.fine(LinuxCoreProc.class);
 
 
-    public LinuxCoreProc(ElfData data, LinuxCoreHost host, ProcId procId ) {
-	super(host, null, procId);
-	fine.log(this, "LinuxCoreProc(ElfData, LinuxCoreHost, ProcId)");
+    public LinuxCoreProc(ElfData data, LinuxCoreHost host, int pid) {
+	super(host, null, pid);
 	this.elfData = data;
 	this.elfProc = ElfPrpsinfo.decode(elfData);
 	this.corefileBackEnd = host.coreFile;
+	fine.log(this, "LinuxCoreProc elfData", data, "host", host, "pid", pid);
 
 	// Executable is null (non-specified), find the executable
 	// as it is written in the corefile. 
diff --git a/frysk-core/frysk/proc/dead/LinuxExeHost.java b/frysk-core/frysk/proc/dead/LinuxExeHost.java
index 9a78796..79ea200 100644
--- a/frysk-core/frysk/proc/dead/LinuxExeHost.java
+++ b/frysk-core/frysk/proc/dead/LinuxExeHost.java
@@ -120,7 +120,7 @@ public class LinuxExeHost extends DeadHost {
   	{
   	  // executable file processes have no parents as thy are captured
   	  // in isolation, and reconstructed.
-  	  proc = new LinuxExeProc(proc_pid,LinuxExeHost.this,procId);
+  	  proc = new LinuxExeProc(proc_pid,LinuxExeHost.this);
   	}
 
         addedProcs.add(proc);
diff --git a/frysk-core/frysk/proc/dead/LinuxExeProc.java b/frysk-core/frysk/proc/dead/LinuxExeProc.java
index 72acd75..02add4d 100644
--- a/frysk-core/frysk/proc/dead/LinuxExeProc.java
+++ b/frysk-core/frysk/proc/dead/LinuxExeProc.java
@@ -48,20 +48,17 @@ import frysk.isa.ISA;
 import frysk.isa.ElfMap;
 import frysk.proc.Auxv;
 import frysk.proc.MemoryMap;
-import frysk.proc.ProcId;
 
 public class LinuxExeProc extends DeadProc {
 
     private ElfData elfData = null;
     ArrayList metaData = new ArrayList();
     LinuxExeHost host = null;
-    ProcId id = null;	
 
-    public LinuxExeProc(ElfData data, LinuxExeHost host, ProcId id) {
-	super(host, null, id);
+    public LinuxExeProc(ElfData data, LinuxExeHost host) {
+	super(host, null, 0);
 	this.host = host;
 	this.elfData = data;
-	this.id = id;
 	sendRefresh();
 	buildMetaData();
     }
diff --git a/frysk-core/frysk/proc/dummy/ChangeLog b/frysk-core/frysk/proc/dummy/ChangeLog
index d71dfa6..565fc8e 100644
--- a/frysk-core/frysk/proc/dummy/ChangeLog
+++ b/frysk-core/frysk/proc/dummy/ChangeLog
@@ -1,5 +1,7 @@
 2008-02-14  Andrew Cagney  <cagney@redhat.com>
 
+	* DummyProc.java: Update to match Proc.
+
 	* DummyTask.java: Update to match Task.
 
 2008-02-08  Andrew Cagney  <cagney@redhat.com>
diff --git a/frysk-core/frysk/proc/dummy/DummyProc.java b/frysk-core/frysk/proc/dummy/DummyProc.java
index 1333e1f..3312238 100644
--- a/frysk-core/frysk/proc/dummy/DummyProc.java
+++ b/frysk-core/frysk/proc/dummy/DummyProc.java
@@ -40,13 +40,12 @@
 package frysk.proc.dummy;
 
 import frysk.proc.Auxv;
-import frysk.proc.ProcId;
 import frysk.proc.MemoryMap;
 import frysk.proc.Proc;
 
 public class DummyProc extends Proc {
     public DummyProc(DummyHost host, int pid) {
-	super(host, null, new ProcId(pid));
+	super(host, null, pid);
     }
     public DummyProc() {
 	this(new DummyHost(), 42);
diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
index d370c3e..ea26cdb 100644
--- a/frysk-core/frysk/proc/live/ChangeLog
+++ b/frysk-core/frysk/proc/live/ChangeLog
@@ -1,5 +1,9 @@
 2008-02-14  Andrew Cagney  <cagney@redhat.com>
 
+	* LiveProc.java: Replace ProcId with ProcessIdentifier and int.
+	* LinuxPtraceProc.java: Update.
+	* LinuxPtraceHost.java: Ditto.
+
 	* LinuxPtraceProc.java: Update to match Status.
 	* LinuxPtraceTaskState.java: Ditto.
 	
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceHost.java b/frysk-core/frysk/proc/live/LinuxPtraceHost.java
index 724ea42..08aecbe 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceHost.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceHost.java
@@ -45,7 +45,6 @@ import java.util.List;
 import java.util.LinkedList;
 import java.util.HashMap;
 import frysk.proc.Proc;
-import frysk.proc.ProcId;
 import frysk.sys.proc.Stat;
 import frysk.sys.proc.ProcBuilder;
 import java.util.Iterator;
@@ -150,7 +149,7 @@ public class LinuxPtraceHost extends LiveHost {
 		}
 		// .. and then add this process.
 		proc = new LinuxPtraceProc(LinuxPtraceHost.this, parent,
-					   new ProcId(pid.intValue()), stat);
+					   pid, stat);
 		added.add(proc);
 	    } else if (removed.containsKey(pid)) {
 		// Process 1 never gets a [new] parent.
diff --git a/frysk-core/frysk/proc/live/LinuxPtraceProc.java b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
index e5808f5..933bd79 100644
--- a/frysk-core/frysk/proc/live/LinuxPtraceProc.java
+++ b/frysk-core/frysk/proc/live/LinuxPtraceProc.java
@@ -41,7 +41,6 @@ package frysk.proc.live;
 
 import frysk.proc.Action;
 import frysk.sys.proc.Exe;
-import frysk.proc.ProcId;
 import frysk.proc.Proc;
 import frysk.proc.Task;
 import frysk.proc.Host;
@@ -75,7 +74,8 @@ public class LinuxPtraceProc extends LiveProc {
      * Create a new detached process.  RUNNING makes no sense here.
      * Since PARENT could be NULL, also explicitly pass in the host.
      */
-    public LinuxPtraceProc(Host host, Proc parent, ProcId pid, Stat stat) {
+    public LinuxPtraceProc(Host host, Proc parent,
+			   ProcessIdentifier pid, Stat stat) {
 	super(host, parent, pid);
 	((LinuxPtraceHost)host).putProc(ProcessIdentifierFactory.create(pid.hashCode()), this);
 	this.newState = LinuxPtraceProcState.initial(false);
@@ -87,7 +87,7 @@ public class LinuxPtraceProc extends LiveProc {
      * Task.
      */
     public LinuxPtraceProc(Task task, ProcessIdentifier fork) {
-	super(task, new ProcId(fork.intValue()));
+	super(task, fork);
 	((LinuxPtraceHost)getHost()).putProc(fork, this);
 	this.newState = LinuxPtraceProcState.initial(true);
 	this.breakpoints = new BreakpointAddresses(this);
diff --git a/frysk-core/frysk/proc/live/LiveProc.java b/frysk-core/frysk/proc/live/LiveProc.java
index e5268ad..9d46f0e 100644
--- a/frysk-core/frysk/proc/live/LiveProc.java
+++ b/frysk-core/frysk/proc/live/LiveProc.java
@@ -40,9 +40,9 @@
 package frysk.proc.live;
 
 import frysk.proc.Proc;
-import frysk.proc.ProcId;
 import frysk.proc.Host;
 import frysk.proc.Task;
+import frysk.sys.ProcessIdentifier;
 
 /**
  * A live Host/Proc/Task is characterised by its stateful nature;
@@ -51,10 +51,14 @@ import frysk.proc.Task;
  */
 
 abstract class LiveProc extends Proc {
-    LiveProc(Host host, Proc parent, ProcId pid) {
-	super(host, parent, pid);
+    final ProcessIdentifier pid;
+
+    LiveProc(Host host, Proc parent, ProcessIdentifier pid) {
+	super(host, parent, pid.intValue());
+	this.pid = pid;
     }
-    LiveProc(Task task, ProcId forkId) {
-	super(task, forkId);
+    LiveProc(Task task, ProcessIdentifier fork) {
+	super(task, fork.intValue());
+	this.pid = fork;
     }
 }
diff --git a/frysk-sys/frysk/rsl/ChangeLog b/frysk-sys/frysk/rsl/ChangeLog
index cfce596..6784735 100644
--- a/frysk-sys/frysk/rsl/ChangeLog
+++ b/frysk-sys/frysk/rsl/ChangeLog
@@ -1,3 +1,7 @@
+2008-02-14  Andrew Cagney  <cagney@redhat.com>
+
+	* Log.java: Add more log methods.
+
 2008-02-12  Andrew Cagney  <cagney@redhat.com>
 
 	* Node.java (set(Level)): Return the node.
diff --git a/frysk-sys/frysk/rsl/Log.java b/frysk-sys/frysk/rsl/Log.java
index be46a3b..e637120 100644
--- a/frysk-sys/frysk/rsl/Log.java
+++ b/frysk-sys/frysk/rsl/Log.java
@@ -474,6 +474,11 @@ public final class Log {
 	    return;
 	prefix(self); print(p1); print(p2); print(p3); print(p4); print(p5); print(p6); suffix();
     }
+    public void log(Object self, String p1, Object p2, String p3, Object p4, String p5, int p6) {
+	if (!logging)
+	    return;
+	prefix(self); print(p1); print(p2); print(p3); print(p4); print(p5); print(p6); suffix();
+    }
     public void log(Object self, String p1, Object p2, String p3, Object p4, String p5, Object p6) {
 	if (!logging)
 	    return;


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


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

only message in thread, other threads:[~2008-02-14 18:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-02-14 18:53 [SCM] master: Pass up simple int in Proc constructor 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).