diff options
author | Doug Evans <dje@google.com> | 2009-12-21 21:23:43 +0000 |
---|---|---|
committer | Doug Evans <dje@google.com> | 2009-12-21 21:23:43 +0000 |
commit | c5f62d5ff9f52f2170a401631240af7bf7a850e3 (patch) | |
tree | 079fddc53cc70fd018f2e5e7716cf5a0f8375142 /gdb/linux-nat.c | |
parent | 10e86dd77848e00024b5de420c18e13db9a103c9 (diff) | |
download | gdb-c5f62d5ff9f52f2170a401631240af7bf7a850e3.zip gdb-c5f62d5ff9f52f2170a401631240af7bf7a850e3.tar.gz gdb-c5f62d5ff9f52f2170a401631240af7bf7a850e3.tar.bz2 |
gdb/
* 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.
Diffstat (limited to 'gdb/linux-nat.c')
-rw-r--r-- | gdb/linux-nat.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c index c0afecd..c3bc516 100644 --- a/gdb/linux-nat.c +++ b/gdb/linux-nat.c @@ -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); |