From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15399 invoked by alias); 2 Mar 2011 18:01:28 -0000 Received: (qmail 15390 invoked by uid 22791); 2 Mar 2011 18:01:27 -0000 X-SWARE-Spam-Status: No, hits=-5.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from smtp-outbound-1.vmware.com (HELO smtp-outbound-1.vmware.com) (65.115.85.69) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 02 Mar 2011 18:01:22 +0000 Received: from mailhost2.vmware.com (mailhost2.vmware.com [10.16.67.167]) by smtp-outbound-1.vmware.com (Postfix) with ESMTP id 1B15B53003; Wed, 2 Mar 2011 10:01:19 -0800 (PST) Received: from msnyder-server.eng.vmware.com (promd-2s-dhcp138.eng.vmware.com [10.20.124.138]) by mailhost2.vmware.com (Postfix) with ESMTP id 12DF78EF59; Wed, 2 Mar 2011 10:01:19 -0800 (PST) Message-ID: <4D6E85EE.6090209@vmware.com> Date: Wed, 02 Mar 2011 18:01:00 -0000 From: Michael Snyder User-Agent: Thunderbird 2.0.0.24 (X11/20101201) MIME-Version: 1.0 To: Pedro Alves CC: "gdb-patches@sourceware.org" , Mark Kettenis Subject: Re: [RFA] linux-nat.c, linux_thread_alive, user errno instead of err References: <4D6D8774.3090506@vmware.com> <201103020008.p2208ODO018859@glazunov.sibelius.xs4all.nl> <201103020118.03628.pedro@codesourcery.com> In-Reply-To: <201103020118.03628.pedro@codesourcery.com> Content-Type: multipart/mixed; boundary="------------060905000408010706020203" X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-03/txt/msg00110.txt.bz2 This is a multi-part message in MIME format. --------------060905000408010706020203 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Content-length: 504 Pedro Alves wrote: >>> --- linux-nat.c 1 Mar 2011 00:40:22 -0000 1.197 >>> +++ linux-nat.c 1 Mar 2011 23:50:34 -0000 >>> @@ -4045,7 +4045,7 @@ linux_thread_alive (ptid_t ptid) >>> fprintf_unfiltered (gdb_stdlog, >>> "LLTA: KILL(SIG0) %s (%s)\n", >>> target_pid_to_str (ptid), >>> - err ? safe_strerror (err) : "OK"); >>> + err ? safe_strerror (errno) : "OK"); > > Not 100% correct. target_pid_to_str is allowed to > clobber errno (as any function call is). OK. How about this then? --------------060905000408010706020203 Content-Type: text/plain; name="errno2.txt" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="errno2.txt" Content-length: 908 Index: linux-nat.c =================================================================== RCS file: /cvs/src/src/gdb/linux-nat.c,v retrieving revision 1.197 diff -u -p -u -p -r1.197 linux-nat.c --- linux-nat.c 1 Mar 2011 00:40:22 -0000 1.197 +++ linux-nat.c 2 Mar 2011 18:00:39 -0000 @@ -4032,7 +4032,7 @@ linux_nat_xfer_partial (struct target_op static int linux_thread_alive (ptid_t ptid) { - int err; + int err, tmp_errno; gdb_assert (is_lwp (ptid)); @@ -4040,12 +4040,12 @@ linux_thread_alive (ptid_t ptid) running thread errors out claiming that the thread doesn't exist. */ err = kill_lwp (GET_LWP (ptid), 0); - + tmp_errno = errno; if (debug_linux_nat) fprintf_unfiltered (gdb_stdlog, "LLTA: KILL(SIG0) %s (%s)\n", target_pid_to_str (ptid), - err ? safe_strerror (err) : "OK"); + err ? safe_strerror (tmp_errno) : "OK"); if (err != 0) return 0; --------------060905000408010706020203--