diff options
-rw-r--r-- | src/thread/pthread_kill.c | 3 |
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; } |