- case THREAD_AWAKENED:
- case THREAD_RESTART:
- /*
- * Posix implies any signal should be delivered
- * first, regardless of whether awakened due
- * to receiving event.
- */
- if (catch != THREAD_ABORTSAFE)
- break;
- /* else fall through */
- case THREAD_INTERRUPTED:
- if (catch == THREAD_ABORTSAFE) {
- if (thread_should_abort(self)) {
- error = EINTR;
- } else if (SHOULDissignal(p, ut)) {
- if ((sig = CURSIG(p)) != 0) {
- if (p->p_sigacts->ps_sigintr & sigmask(sig))
- error = EINTR;
- else
- error = ERESTART;
- }
- if (thread_should_abort(self)) {
+ }
+ /* else fall through */
+ case THREAD_INTERRUPTED:
+ if (catch == THREAD_ABORTSAFE) {
+ if (thread_should_abort(self)) {
+ error = EINTR;
+ } else if (SHOULDissignal(p, ut)) {
+ if ((sig = CURSIG(p)) != 0) {
+ if (p->p_sigacts->ps_sigintr & sigmask(sig)) {