| 60 |
signals. */ |
signals. */ |
| 61 |
sigset_t ss; |
sigset_t ss; |
| 62 |
sigemptyset (&ss); |
sigemptyset (&ss); |
| 63 |
sigprocmask (SIG_SETMASK, &ss, NULL); |
pthread_sigmask (SIG_SETMASK, &ss, NULL); |
| 64 |
|
|
| 65 |
struct thread_start_data *td = (struct thread_start_data *) arg; |
struct thread_start_data *td = (struct thread_start_data *) arg; |
| 66 |
|
|
| 186 |
sigset_t oss; |
sigset_t oss; |
| 187 |
sigfillset (&ss); |
sigfillset (&ss); |
| 188 |
__sigaddset (&ss, SIGCANCEL); |
__sigaddset (&ss, SIGCANCEL); |
| 189 |
sigprocmask (SIG_SETMASK, &ss, &oss); |
pthread_sigmask (SIG_SETMASK, &ss, &oss); |
| 190 |
|
|
| 191 |
sem_init (&__helper_tid_semaphore, 0, 0); |
sem_init (&__helper_tid_semaphore, 0, 0); |
| 192 |
|
|
| 198 |
sem_wait (&__helper_tid_semaphore); |
sem_wait (&__helper_tid_semaphore); |
| 199 |
|
|
| 200 |
/* Restore the signal mask. */ |
/* Restore the signal mask. */ |
| 201 |
sigprocmask (SIG_SETMASK, &oss, NULL); |
pthread_sigmask (SIG_SETMASK, &oss, NULL); |
| 202 |
|
|
| 203 |
/* No need for the attribute anymore. */ |
/* No need for the attribute anymore. */ |
| 204 |
(void) pthread_attr_destroy (&attr); |
(void) pthread_attr_destroy (&attr); |