2011-03-02 Michael Snyder <msnyder@vmware.com>
authorMichael Snyder <msnyder@vmware.com>
Wed, 2 Mar 2011 18:27:41 +0000 (18:27 +0000)
committerMichael Snyder <msnyder@vmware.com>
Wed, 2 Mar 2011 18:27:41 +0000 (18:27 +0000)
* linux-nat.c (linux_nat_xfer_partial): Preserve errno around
a function call.

gdb/ChangeLog
gdb/linux-nat.c

index 257586b..15c73ad 100644 (file)
@@ -1,5 +1,8 @@
 2011-03-02  Michael Snyder  <msnyder@vmware.com>
 
+       * linux-nat.c (linux_nat_xfer_partial): Preserve errno around
+       a function call.
+
        * record.c (record_restore): Move printf to before error return.
 
 2011-03-02  Yao Qi  <yao@codesourcery.com>
index 5456645..922a2cf 100644 (file)
@@ -4032,7 +4032,7 @@ linux_nat_xfer_partial (struct target_ops *ops, enum target_object object,
 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;