mirror of
https://github.com/fluencelabs/musl
synced 2025-04-24 14:52:13 +00:00
remove incorrect ESRCH error from pthread_kill
posix documents in the rationale and future directions for pthread_kill that, since the lifetime of the thread id for a joinable thread lasts until it is joined, ESRCH is not a correct error for pthread_kill to produce when the target thread has exited but not yet been joined, and that conforming applications cannot attempt to detect this state. future versions of the standard may explicitly require that ESRCH not be returned for this case.
This commit is contained in:
parent
9e2d820a55
commit
4df4216351
@ -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;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user