From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31512 invoked by alias); 22 May 2003 15:52:00 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 19346 invoked from network); 22 May 2003 15:47:41 -0000 Received: from unknown (HELO touchme.toronto.redhat.com) (207.219.125.105) by sources.redhat.com with SMTP; 22 May 2003 15:47:41 -0000 Received: from redhat.com (toocool.toronto.redhat.com [172.16.14.72]) by touchme.toronto.redhat.com (Postfix) with ESMTP id AE9B7800021; Thu, 22 May 2003 11:47:40 -0400 (EDT) Message-ID: <3ECCF11C.9000401@redhat.com> Date: Thu, 22 May 2003 15:52:00 -0000 From: "J. Johnston" Organization: Red Hat Inc. User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0.1) Gecko/20020823 Netscape/7.0 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Kevin Buettner Cc: gdb-patches@sources.redhat.com Subject: Re: RFA: patch to infptrace.c References: <3ECBFE38.4020701@redhat.com> <1030521224635.ZM475@localhost.localdomain> <3ECC0787.7000604@redhat.com> <1030521233556.ZM2887@localhost.localdomain> Content-Type: multipart/mixed; boundary="------------090702000505040805080209" X-SW-Source: 2003-05/txt/msg00422.txt.bz2 This is a multi-part message in MIME format. --------------090702000505040805080209 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 3083 The attached patch has been checked in. Thanks. -- Jeff J. 2003-05-22 Jeff Johnston * infptrace.c (detach): Call print_sys_errmsg rather than perror_with_name to issue warning message when errno is non-zero after calling ptrace detach. Kevin Buettner wrote: > On May 21, 7:11pm, J. Johnston wrote: > > >>Kevin Buettner wrote: >> >>>On May 21, 6:31pm, J. Johnston wrote: >>> >>> >>> >>>>The attached patch changes the ptrace detach call to not perform error handling >>>>when an error occurs in detach. Without this patch, an error in detach stops gdb >>> >>>>from exiting. The error keeps returning to the command line over and over again. >>> >>>>I thought I had fixed this earlier by adding a check for errno != ESRCH, but it >>>>appears there are other scenarios that may occur. >>> >>> >>>Which other errno values are tripping it up? >>> >> >>A bugzilla bug has been opened on a Red Hat kernel with patches that was >>causing an EPERM to show up. >> >> >>>Assuming that it's a good idea to emit only a warning, do we still need >>>the errno != ESRCH check? >> >>It isn't "needed". It was meant to not issue any complaint if the process had >>been killed externally. I can remove the check if it is preferred. > > > If the process had been killed externally and the gdb user was unaware > of it, then I think this information would be quite useful. It's > certainly better (less surprising) to print a message than to detach > expecting the process to continue on it's own only to find it > mysteriously gone. It won't really help to tell the user why it's > gone, but the user will at least know that it happened before the > detach or possibly as a result of something having gone wrong with the > detach. > > Anyway, I'm all for your patch going in so long as the ESRCH check is > removed. It doesn't make any sense to put the GDB user in limbo as > a result of being unable to detach successfully. When I've encountered > this problem in the past, there didn't seem to be anything that could > be done (as a user) to correct the problem so that the detach would > succeed. > > Kevin > > >>>>Ok to commit? >>>> >>>>-- Jeff J. >>>> >>>>2003-05-21 Jeff Johnston >>>> >>>> * infptrace.c (detach): Call print_sys_errmsg when an error occurs >>>> instead of perror_with_name. >>>> >>>>[ text/plain ] : >>>> >>>>Index: infptrace.c >>>>=================================================================== >>>>RCS file: /cvs/src/src/gdb/infptrace.c,v >>>>retrieving revision 1.25 >>>>diff -u -p -r1.25 infptrace.c >>>>--- infptrace.c 8 May 2003 20:52:47 -0000 1.25 >>>>+++ infptrace.c 21 May 2003 21:39:56 -0000 >>>>@@ -302,7 +302,7 @@ detach (int signal) >>>> ptrace (PT_DETACH, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) 1, >>>> signal); >>>> if (errno && errno != ESRCH) >>>>- perror_with_name ("ptrace"); >>>>+ print_sys_errmsg ("ptrace", errno); >>>> attach_flag = 0; >>>>} >>>>#endif /* ATTACH_DETACH */ >>> >>> >>-- End of excerpt from J. Johnston > > > > --------------090702000505040805080209 Content-Type: text/plain; name="infptrace.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="infptrace.patch" Content-length: 587 Index: infptrace.c =================================================================== RCS file: /cvs/src/src/gdb/infptrace.c,v retrieving revision 1.25 diff -u -p -r1.25 infptrace.c --- infptrace.c 8 May 2003 20:52:47 -0000 1.25 +++ infptrace.c 22 May 2003 15:45:51 -0000 @@ -301,8 +301,8 @@ detach (int signal) errno = 0; ptrace (PT_DETACH, PIDGET (inferior_ptid), (PTRACE_ARG3_TYPE) 1, signal); - if (errno && errno != ESRCH) - perror_with_name ("ptrace"); + if (errno) + print_sys_errmsg ("ptrace", errno); attach_flag = 0; } #endif /* ATTACH_DETACH */ --------------090702000505040805080209--