Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* RFA: infptrace fix
@ 2003-02-24 23:31 J. Johnston
  2003-02-25  0:10 ` Kevin Buettner
  0 siblings, 1 reply; 3+ messages in thread
From: J. Johnston @ 2003-02-24 23:31 UTC (permalink / raw)
  To: gdb-patches

[-- Attachment #1: Type: text/plain, Size: 749 bytes --]

The following patch fixes a problem on linux regarding attached
processes.  When gdb quits, it goes to detach the process.  If the
process has already been killed, the ptrace detach call sets errno.
This causes infptrace.c: detach() to issue a perror_with_name()
call which eventually gets caught and the user is returned to the
gdb prompt.  If we try and quit again, we go through the same
sequence and so on and so on.

The patch recognizes if errno is set to ESRCH, indicating that the
process cannot be found which is ok and should not result in an
error being flagged.

Ok to install?


-- Jeff J.

2003-02-24  Jeff Johnston  <jjohnstn@redhat.com>

	* infptrace.c (detach): Do not flag error if ptrace detach fails and
	errno is set to ESRCH.


[-- Attachment #2: infptrace.patch --]
[-- Type: text/plain, Size: 495 bytes --]

Index: infptrace.c
===================================================================
RCS file: /cvs/src/src/gdb/infptrace.c,v
retrieving revision 1.22
diff -u -r1.22 infptrace.c
--- infptrace.c	8 Nov 2002 23:48:38 -0000	1.22
+++ infptrace.c	24 Feb 2003 23:26:22 -0000
@@ -301,7 +301,7 @@
   errno = 0;
   ptrace (PT_DETACH, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) 1,
           signal);
-  if (errno)
+  if (errno && errno != ESRCH)
     perror_with_name ("ptrace");
   attach_flag = 0;
 }

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2003-02-25 19:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-02-24 23:31 RFA: infptrace fix J. Johnston
2003-02-25  0:10 ` Kevin Buettner
2003-02-25 19:40   ` J. Johnston

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox