From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6679 invoked by alias); 14 Jan 2008 20:03:01 -0000 Received: (qmail 6601 invoked by uid 9519); 14 Jan 2008 20:02:53 -0000 Date: Mon, 14 Jan 2008 20:03:00 -0000 Message-ID: <20080114200253.6577.qmail@sourceware.org> From: rmoseley@sourceware.org To: frysk-cvs@sourceware.org Subject: [SCM] master: Fix a couple of problems with procs terminating before frysk knows it. X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Oldrev: e89a4ee2697f66d023e8cb11b8e069e5f0c1e2ee X-Git-Newrev: 5f9911f885000327e51a4a5269ec3d1d3c42e3c4 Mailing-List: contact frysk-cvs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-cvs-owner@sourceware.org Reply-To: frysk@sourceware.org X-SW-Source: 2008-q1/txt/msg00053.txt.bz2 The branch, master has been updated via 5f9911f885000327e51a4a5269ec3d1d3c42e3c4 (commit) from e89a4ee2697f66d023e8cb11b8e069e5f0c1e2ee (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 5f9911f885000327e51a4a5269ec3d1d3c42e3c4 Author: Rick Moseley Date: Mon Jan 14 14:02:16 2008 -0600 Fix a couple of problems with procs terminating before frysk knows it. * LinuxPtraceTask.java: Catch errors from Ptrace.detach(). * Proc.java: Remove requestAbandon() from requestKill(). ----------------------------------------------------------------------- Summary of changes: frysk-core/frysk/proc/ChangeLog | 4 ++++ frysk-core/frysk/proc/Proc.java | 1 - frysk-core/frysk/proc/live/ChangeLog | 4 ++++ frysk-core/frysk/proc/live/LinuxPtraceTask.java | 7 ++++++- 4 files changed, 14 insertions(+), 2 deletions(-) First 500 lines of diff: diff --git a/frysk-core/frysk/proc/ChangeLog b/frysk-core/frysk/proc/ChangeLog index e3b5554..425bd8b 100644 --- a/frysk-core/frysk/proc/ChangeLog +++ b/frysk-core/frysk/proc/ChangeLog @@ -1,3 +1,7 @@ +2008-01-14 Rick Moseley + + * Proc.java: Remove requestAbandon() from requestKill(). + 2008-01-11 Andrew Cagney * Task.java (getEntryPointAddress()): Delete. diff --git a/frysk-core/frysk/proc/Proc.java b/frysk-core/frysk/proc/Proc.java index c082155..d2ac547 100644 --- a/frysk-core/frysk/proc/Proc.java +++ b/frysk-core/frysk/proc/Proc.java @@ -208,7 +208,6 @@ public abstract class Proc { quitLatch.countDown(); } }); - this.requestAbandon(); } /** diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog index 3d07a50..36ec797 100644 --- a/frysk-core/frysk/proc/live/ChangeLog +++ b/frysk-core/frysk/proc/live/ChangeLog @@ -1,3 +1,7 @@ +2008-01-14 Rick Moseley + + * LinuxPtraceTask.java: Catch errors from Ptrace.detach(). + 2008-01-14 Phil Muldoon * LinuxPtraceProc.java (getMaps): Remove if maps == null. diff --git a/frysk-core/frysk/proc/live/LinuxPtraceTask.java b/frysk-core/frysk/proc/live/LinuxPtraceTask.java index 36ef26c..2afb38d 100644 --- a/frysk-core/frysk/proc/live/LinuxPtraceTask.java +++ b/frysk-core/frysk/proc/live/LinuxPtraceTask.java @@ -357,7 +357,12 @@ public class LinuxPtraceTask extends LiveTask { public void sendDetach (int sig) { logger.log(Level.FINE, "{0} sendDetach\n", this); - Ptrace.detach(getTid(), sig); + // Ignore problems trying to detach, most of the time the problem is the + // process has already left the cpu queue + try { + Ptrace.detach(getTid(), sig); + } catch (Exception e) { + } } public void startTracingSyscalls () hooks/post-receive -- frysk system monitor/debugger