summaryrefslogtreecommitdiff
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;
}