server: Simplify tkill() and remove unreachable code (Smatch).
authorMichael Stefaniuc <mstefani@redhat.de>
Mon, 26 Jul 2010 23:01:01 +0000 (01:01 +0200)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 28 Jul 2010 14:28:23 +0000 (16:28 +0200)
server/ptrace.c

index 48b30b40dd16086e6b54b1889cb35bd10426bc69..cc08d328fc08cc34f82220e2f30807eb14f805a2 100644 (file)
@@ -213,18 +213,17 @@ static int wait4_thread( struct thread *thread, int signal )
 static inline int tkill( int tgid, int pid, int sig )
 {
 #ifdef __linux__
-    int ret = -ENOSYS;
 # ifdef __i386__
-    ret = syscall(270 /*SYS_tgkill*/, tgid, pid, sig);
+    int ret = syscall(270 /*SYS_tgkill*/, tgid, pid, sig);
     if (ret < 0 && errno == -ENOSYS)
         ret = syscall(238 /*SYS_tkill*/, pid, sig);
     return ret;
 # elif defined(__x86_64__)
     return syscall(200 /*SYS_tkill*/, pid, sig);
-# endif
-    if (ret >= 0) return ret;
-    errno = -ret;
+# else
+    errno = ENOSYS;
     return -1;
+# endif
 #elif defined(__FreeBSD__) && defined(HAVE_THR_KILL2)
     return thr_kill2( tgid, pid, sig );
 #else