gdb/
authorDoug Evans <dje@google.com>
Mon, 21 Dec 2009 21:23:43 +0000 (21:23 +0000)
committerDoug Evans <dje@google.com>
Mon, 21 Dec 2009 21:23:43 +0000 (21:23 +0000)
* linux-nat.c (kill_lwp): Minor cleanup, move definition of
tkill_failed into ifdef HAVE_TKILL_SYSCALL.  Move setting of errno
there too.  Delete unnecessary resetting of errno after syscall.
Minor comment changes to match gdbserver/linux-low.c:kill_lwp.

gdbserver/
* linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
warning ifndef __NR_tkill.  Move setting of errno there too.
Delete unnecessary resetting of errno after syscall.
Minor comment changes to match gdb/linux-nat.c:kill_lwp.

gdb/ChangeLog
gdb/gdbserver/ChangeLog
gdb/gdbserver/linux-low.c
gdb/linux-nat.c

index 1c82ebcf285c12892189cc4eeab53f76038cb654..0d9691ade4cf720e1188273781bd6718bdf060aa 100644 (file)
@@ -1,3 +1,10 @@
+2009-12-21  Doug Evans  <dje@google.com>
+
+       * linux-nat.c (kill_lwp): Minor cleanup, move definition of
+       tkill_failed into ifdef HAVE_TKILL_SYSCALL.  Move setting of errno
+       there too.  Delete unnecessary resetting of errno after syscall.
+       Minor comment changes to match gdbserver/linux-low.c:kill_lwp.
+
 2009-12-21  Alan Modra  <amodra@gmail.com>
 
        * MAINTAINERS: Update my email address.
index 6cd1b792a3c68a97bb27ba8cf4a1851a64be05f0..2e388dfe5cdfe7f9b7d3ae71ceb5cc67fa378a55 100644 (file)
@@ -1,5 +1,11 @@
 2009-12-21  Doug Evans  <dje@google.com>
 
+       * linux-low.c (kill_lwp): Use __NR_tkill instead of SYS_tkill.
+       Move definition of tkill_failed to ifdef __NR_tkill to avoid gcc
+       warning ifndef __NR_tkill.  Move setting of errno there too.
+       Delete unnecessary resetting of errno after syscall.
+       Minor comment changes to match gdb/linux-nat.c:kill_lwp.
+
        * configure.ac: Check for dladdr.
        * config.in: Regenerate.
        * configure: Regenerate.
index 8b7d9e8e4ec5192e6e52aaeef4c477b8cb137733..8e91d2b608a940c58c107b2f07c2596bb3abee7a 100644 (file)
@@ -1572,25 +1572,29 @@ linux_wait (ptid_t ptid,
   return event_ptid;
 }
 
-/* Send a signal to an LWP.  For LinuxThreads, kill is enough; however, if
-   thread groups are in use, we need to use tkill.  */
+/* Send a signal to an LWP.  */
 
 static int
 kill_lwp (unsigned long lwpid, int signo)
 {
-  static int tkill_failed;
+  /* Use tkill, if possible, in case we are using nptl threads.  If tkill
+     fails, then we are not using nptl threads and we should be using kill.  */
 
-  errno = 0;
+#ifdef __NR_tkill
+  {
+    static int tkill_failed;
 
-#ifdef SYS_tkill
-  if (!tkill_failed)
-    {
-      int ret = syscall (SYS_tkill, lwpid, signo);
-      if (errno != ENOSYS)
-       return ret;
-      errno = 0;
-      tkill_failed = 1;
-    }
+    if (!tkill_failed)
+      {
+       int ret;
+
+       errno = 0;
+       ret = syscall (__NR_tkill, lwpid, signo);
+       if (errno != ENOSYS)
+         return ret;
+       tkill_failed = 1;
+      }
+  }
 #endif
 
   return kill (lwpid, signo);
index c0afecd42706f029723ceb861927cb5229f112cf..c3bc5169f2b659f8b3e9bb8c6c606cc47c160e88 100644 (file)
@@ -2034,27 +2034,29 @@ linux_nat_resume (struct target_ops *ops,
     target_async (inferior_event_handler, 0);
 }
 
-/* Issue kill to specified lwp.  */
-
-static int tkill_failed;
+/* Send a signal to an LWP.  */
 
 static int
 kill_lwp (int lwpid, int signo)
 {
-  errno = 0;
-
-/* Use tkill, if possible, in case we are using nptl threads.  If tkill
-   fails, then we are not using nptl threads and we should be using kill.  */
+  /* Use tkill, if possible, in case we are using nptl threads.  If tkill
+     fails, then we are not using nptl threads and we should be using kill.  */
 
 #ifdef HAVE_TKILL_SYSCALL
-  if (!tkill_failed)
-    {
-      int ret = syscall (__NR_tkill, lwpid, signo);
-      if (errno != ENOSYS)
-       return ret;
-      errno = 0;
-      tkill_failed = 1;
-    }
+  {
+    static int tkill_failed;
+
+    if (!tkill_failed)
+      {
+       int ret;
+
+       errno = 0;
+       ret = syscall (__NR_tkill, lwpid, signo);
+       if (errno != ENOSYS)
+         return ret;
+       tkill_failed = 1;
+      }
+  }
 #endif
 
   return kill (lwpid, signo);