This is the mail archive of the frysk-cvs@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[SCM] frysk system monitor/debugger branch, master, updated. b0fe6a24f1b83254fd0a74c4fad2e72a46b49b26


The branch, master has been updated
       via  b0fe6a24f1b83254fd0a74c4fad2e72a46b49b26 (commit)
      from  56f7ede3726faf57106e3b509f5f7c7073546517 (commit)

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

- Log -----------------------------------------------------------------
commit b0fe6a24f1b83254fd0a74c4fad2e72a46b49b26
Author: Phil Muldoon <pmuldoon@redhat.com>
Date:   Wed Nov 7 10:42:47 2007 +0000

    Reformat to SUN Style

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

Summary of changes:
 frysk-core/frysk/proc/dead/LinuxHost.java |  355 +++++++++++++---------------
 1 files changed, 165 insertions(+), 190 deletions(-)

First 500 lines of diff:
diff --git a/frysk-core/frysk/proc/dead/LinuxHost.java b/frysk-core/frysk/proc/dead/LinuxHost.java
index 52e7263..827cdff 100644
--- a/frysk-core/frysk/proc/dead/LinuxHost.java
+++ b/frysk-core/frysk/proc/dead/LinuxHost.java
@@ -33,7 +33,8 @@
 // this exception. If you modify this file, you may extend this
 // exception to your version of the file, but you are not obligated to
 // do so. If you do not wish to provide this exception without
-// modification, you must delete this exception statement from your// version and license this file solely under the GPL without
+// modification, you must delete this exception statement from your
+// version and license this file solely under the GPL without
 // exception.
 
 package frysk.proc.dead;
@@ -58,197 +59,171 @@ import frysk.proc.FindProc;
 
 public class LinuxHost extends DeadHost {
 
-  CorefileStatus status = new CorefileStatus();
-  boolean hasRefreshed = false;
-  boolean exeSetToNull = false;
-  protected File coreFile = null;
-  protected File exeFile = null;
-  Elf corefileElf;
-  EventLoop eventLoop;
-
-  private LinuxHost(EventLoop eventLoop, File coreFile, boolean doRefresh)
-  {
-      this.coreFile = coreFile;
-      this.eventLoop = eventLoop;
-      try
-      {
-        this.corefileElf = new Elf (coreFile.getPath(), ElfCommand.ELF_C_READ);
-      }
-      catch (Exception e)
-      {
-    	System.out.println("Not in this exception");
-        throw new RuntimeException("Corefile " + this.coreFile + " is "+ 
-				   "not a valid ELF core file.");
-      }
-
-      if (corefileElf.getEHeader().type != ElfEHeader.PHEADER_ET_CORE) {
-    	  this.corefileElf.close();
-    	  throw new RuntimeException("'"+this.coreFile.getAbsolutePath()+"' is not a corefile.");
-      }
-    	  
-      if (doRefresh)
-	  this.sendRefresh(true);
-  }
-  
-  public LinuxHost(EventLoop eventLoop, File coreFile)
-  {
-      this(eventLoop, coreFile, true);
-  }
-
-
-  public LinuxHost(EventLoop eventLoop, File coreFile, File exeFile)
-  {
-      this(eventLoop, coreFile, false);
-      if (exeFile == null)
-    	  exeSetToNull = true;
-      
-      if (exeFile.canRead() && exeFile.exists())
-    	  this.exeFile = exeFile;
-      else
-      {
-    	  status.hasExe = false;
-    	  status.hasExeProblem = true;
-    	  status.message = "The user provided executable: " 
-    		  	+ exeFile.getAbsolutePath() + 
-    		  	" could not be accessed";
-      }
-      this.sendRefresh(true);
-      
-      
-  }
-
-  public CorefileStatus getStatus()
-  {
-	  return status;
-  }
-  
-  protected void sendRefresh(boolean refreshAll) 
-  {
-
-    if (this.hasRefreshed)
-      return;
-    // Iterate (build) the /proc tree, passing each found PID to
-    // procChanges where it can update the /proc tree.
-    new DeconstructCoreFile(this.corefileElf);
-    // Changes individual process.
-    for (Iterator i = procPool.values().iterator(); i.hasNext();)
-      {
-	LinuxProc proc = (LinuxProc) i.next();
-	proc.sendRefresh();
-      }
-    this.hasRefreshed = true;
-  }
-
-  protected void sendRefresh (final ProcId procId, final FindProc finder)
-  {
-
-    // Core files nevers never change 
-    if (!(procPool.containsKey(procId)))
-      {
-        eventLoop.add(new Event()
-        {
-          public void execute ()
-          {
-            finder.procNotFound(procId, new RuntimeException(
-                                                             "Couldn't find the proc"
-                                                                 + procId));
-          }
-        });
-        return;
-      }
-
-    
-    LinuxProc proc = (LinuxProc) getProc(procId);
-    proc.sendRefresh();
-    
-    eventLoop.add(new Event()
-    {
-
-      public void execute ()
-      {
-        finder.procFound(procId);
-      }
-    });
-
-  } 
-
-
-  protected void sendCreateAttachedProc(String stdin, String stdout,
-					String stderr, String[] args,
-					TaskObserver.Attached attached)
-  {
-  }
-
-
-  protected Proc sendrecSelf() 
-  {
-    return null;
-  }
-
-
-  private class DeconstructCoreFile
-  {
-    List addedProcs = new LinkedList();
-    //HashMap removedProcs = (HashMap) ((HashMap) procPool).clone();
-    Elf coreFileElf;
-    ElfData noteData = null;
-
-    DeconstructCoreFile(Elf coreFileElf)
-    {
-      this.coreFileElf =  coreFileElf;
-      status.coreName = coreFile.getAbsolutePath();
-      ElfEHeader eHeader = this.coreFileElf.getEHeader();
-      
-      // Get number of program header entries.
-      long phSize = eHeader.phnum;
-      for (int i=0; i<phSize; i++)
-	{
-	  // Test if pheader is of types notes..
-	  ElfPHeader pHeader = coreFileElf.getPHeader(i);
-	  if (pHeader.type == ElfPHeader.PTYPE_NOTE)
-	    {
-	      // if so, copy, break an leave.
-	      noteData = coreFileElf.getRawData(pHeader.offset,pHeader.filesz);
-	      break;
-	    }
+	CorefileStatus status = new CorefileStatus();
+
+	boolean hasRefreshed = false;
+
+	boolean exeSetToNull = false;
+
+	protected File coreFile = null;
+
+	protected File exeFile = null;
+
+	Elf corefileElf;
+
+	EventLoop eventLoop;
+
+	private LinuxHost(EventLoop eventLoop, File coreFile, boolean doRefresh) {
+		this.coreFile = coreFile;
+		this.eventLoop = eventLoop;
+		try {
+			this.corefileElf = new Elf(coreFile.getPath(),
+					ElfCommand.ELF_C_READ);
+		} catch (Exception e) {
+			throw new RuntimeException("Corefile " + this.coreFile + " is "
+					+ "not a valid ELF core file.");
+		}
+
+		if (corefileElf.getEHeader().type != ElfEHeader.PHEADER_ET_CORE) {
+			this.corefileElf.close();
+			throw new RuntimeException("'" + this.coreFile.getAbsolutePath()
+					+ "' is not a corefile.");
+		}
+
+		if (doRefresh)
+			this.sendRefresh(true);
+	}
+
+	public LinuxHost(EventLoop eventLoop, File coreFile) {
+		this(eventLoop, coreFile, true);
+	}
+
+	public LinuxHost(EventLoop eventLoop, File coreFile, File exeFile) {
+		this(eventLoop, coreFile, false);
+		if (exeFile == null)
+			exeSetToNull = true;
+
+		if (exeFile.canRead() && exeFile.exists())
+			this.exeFile = exeFile;
+		else {
+			status.hasExe = false;
+			status.hasExeProblem = true;
+			status.message = "The user provided executable: "
+					+ exeFile.getAbsolutePath() + " could not be accessed";
+		}
+		this.sendRefresh(true);
+	}
+
+	public CorefileStatus getStatus() {
+		return status;
 	}
 
-      if (noteData != null)
-	update(noteData);
-    }
-
-    Proc update (ElfData proc_pid) 
-    {
-      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.
-   
-      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 LinuxProc(proc_pid,LinuxHost.this,procId);
+	protected void sendRefresh(boolean refreshAll) {
+
+		if (this.hasRefreshed)
+			return;
+		// Iterate (build) the /proc tree, passing each found PID to
+		// procChanges where it can update the /proc tree.
+		new DeconstructCoreFile(this.corefileElf);
+		// Changes individual process.
+		for (Iterator i = procPool.values().iterator(); i.hasNext();) {
+			LinuxProc proc = (LinuxProc) i.next();
+			proc.sendRefresh();
+		}
+		this.hasRefreshed = true;
 	}
 
-      addedProcs.add(proc);
-
-      if  (exeFile == null) 
-    	  status.hasExe = false;
-      else
-      {
-    	  status.hasExe = true;
-    	  status.exeName = exeFile.getAbsolutePath();
-      }
-      return proc;
-    }
-      
-  }
-
-  protected void finalize () throws Throwable
-  {
-    corefileElf = null;
-  }
+	protected void sendRefresh(final ProcId procId, final FindProc finder) {
+
+		// Core files nevers never change 
+		if (!(procPool.containsKey(procId))) {
+			eventLoop.add(new Event() {
+				public void execute() {
+					finder.procNotFound(procId, new RuntimeException(
+							"Couldn't find the proc" + procId));
+				}
+			});
+			return;
+		}
+
+		LinuxProc proc = (LinuxProc) getProc(procId);
+		proc.sendRefresh();
+
+		eventLoop.add(new Event() {
+
+			public void execute() {
+				finder.procFound(procId);
+			}
+		});
+
+	}
+
+	protected void sendCreateAttachedProc(String stdin, String stdout,
+			String stderr, String[] args, TaskObserver.Attached attached) {
+	}
+
+	protected Proc sendrecSelf() {
+		return null;
+	}
+
+	private class DeconstructCoreFile {
+		List addedProcs = new LinkedList();
+
+		//HashMap removedProcs = (HashMap) ((HashMap) procPool).clone();
+		Elf coreFileElf;
+
+		ElfData noteData = null;
+
+		DeconstructCoreFile(Elf coreFileElf) {
+			this.coreFileElf = coreFileElf;
+			status.coreName = coreFile.getAbsolutePath();
+			ElfEHeader eHeader = this.coreFileElf.getEHeader();
+
+			// Get number of program header entries.
+			long phSize = eHeader.phnum;
+			for (int i = 0; i < phSize; i++) {
+				// Test if pheader is of types notes..
+				ElfPHeader pHeader = coreFileElf.getPHeader(i);
+				if (pHeader.type == ElfPHeader.PTYPE_NOTE) {
+					// if so, copy, break an leave.
+					noteData = coreFileElf.getRawData(pHeader.offset,
+							pHeader.filesz);
+					break;
+				}
+			}
+
+			if (noteData != null)
+				update(noteData);
+		}
+
+		Proc update(ElfData proc_pid) {
+			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.
+
+			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 LinuxProc(proc_pid, LinuxHost.this, procId);
+			}
+
+			addedProcs.add(proc);
+
+			if (exeFile == null)
+				status.hasExe = false;
+			else {
+				status.hasExe = true;
+				status.exeName = exeFile.getAbsolutePath();
+			}
+			return proc;
+		}
+
+	}
+
+	protected void finalize() throws Throwable {
+		corefileElf = null;
+	}
 }


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]