use a separate signal from SIGCANCEL for SIGEV_THREAD timers

otherwise we cannot support an application's desire to use
asynchronous cancellation within the callback function. this change
also slightly debloats pthread_create.c.
This commit is contained in:
Rich Felker
2011-04-14 12:51:00 -04:00
parent 9beb6330c0
commit 016a5dc192
6 changed files with 29 additions and 11 deletions

View File

@ -35,7 +35,7 @@ int __libc_sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
int __sigaction(int sig, const struct sigaction *sa, struct sigaction *old)
{
if (sig == SIGCANCEL || sig == SIGSYSCALL) {
if (sig-SIGCANCEL < 3U) {
errno = EINVAL;
return -1;
}