From ee41036f97eacbeac8248b55b52812900a8e7fa9 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Tue, 10 Apr 2012 15:31:29 +0000 Subject: [PATCH] 2012-04-10 Tristan Gingold * darwin-nat.c (darwin_kill_inferior): Always use the no ptrace code to kill the inferior. --- gdb/ChangeLog | 5 +++++ gdb/darwin-nat.c | 31 +++++++++---------------------- 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 304ca3a..4c7c2e3 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2012-04-10 Tristan Gingold + + * darwin-nat.c (darwin_kill_inferior): Always use the no ptrace + code to kill the inferior. + 2012-04-09 Mark Kettenis * ada-exp.y (yyss, yysslim, yyssp, yystacksize, yyvs, yyvsp): New diff --git a/gdb/darwin-nat.c b/gdb/darwin-nat.c index 010700c..df2b761 100644 --- a/gdb/darwin-nat.c +++ b/gdb/darwin-nat.c @@ -1313,35 +1313,22 @@ darwin_kill_inferior (struct target_ops *ops) gdb_assert (inf != NULL); - if (!inf->private->no_ptrace) - { - darwin_stop_inferior (inf); - - res = PTRACE (PT_KILL, inf->pid, 0, 0); - if (res != 0) - warning (_("Failed to kill inferior: ptrace returned %d " - "[%s] (pid=%d)"), - res, safe_strerror (errno), inf->pid); + kret = darwin_restore_exception_ports (inf->private); + MACH_CHECK_ERROR (kret); - darwin_reply_to_all_pending_messages (inf); + darwin_reply_to_all_pending_messages (inf); - darwin_resume_inferior (inf); + res = kill (inf->pid, 9); - ptid = darwin_wait (inferior_ptid, &wstatus); - } - else + if (res == 0) { - kret = darwin_restore_exception_ports (inf->private); - MACH_CHECK_ERROR (kret); - - darwin_reply_to_all_pending_messages (inf); - darwin_resume_inferior (inf); - - res = kill (inf->pid, 9); - + ptid = darwin_wait (inferior_ptid, &wstatus); } + else if (errno != ESRCH) + warning (_("Failed to kill inferior: kill (%d, 9) returned [%s]"), + inf->pid, safe_strerror (errno)); target_mourn_inferior (); } -- 2.7.4