about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/thread/pthread_kill.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/thread/pthread_kill.c b/src/thread/pthread_kill.c
index f0903420..0a139231 100644
--- a/src/thread/pthread_kill.c
+++ b/src/thread/pthread_kill.c
@@ -4,7 +4,8 @@ int pthread_kill(pthread_t t, int sig)
 {
 	int r;
 	LOCK(t->killlock);
-	r = t->dead ? ESRCH : -__syscall(SYS_tkill, t->tid, sig);
+	r = t->dead ? (sig+0U >= _NSIG ? EINVAL : 0)
+		: -__syscall(SYS_tkill, t->tid, sig);
 	UNLOCK(t->killlock);
 	return r;
 }