diff --git a/lib/libc_r/uthread/uthread_suspend_np.c b/lib/libc_r/uthread/uthread_suspend_np.c index 082f88bf1855..81ee3282c5b8 100644 --- a/lib/libc_r/uthread/uthread_suspend_np.c +++ b/lib/libc_r/uthread/uthread_suspend_np.c @@ -75,11 +75,13 @@ _pthread_suspend_np(pthread_t thread) if ((thread->flags & PTHREAD_FLAGS_IN_WORKQ) != 0) PTHREAD_WORKQ_REMOVE(thread); _thread_seterrno(thread,EINTR); + + /* FALLTHROUGH */ + case PS_SLEEP_WAIT: thread->interrupted = 1; /* FALLTHROUGH */ case PS_SIGTHREAD: - case PS_SLEEP_WAIT: case PS_WAIT_WAIT: case PS_SIGSUSPEND: case PS_SIGWAIT: diff --git a/lib/libkse/thread/thr_suspend_np.c b/lib/libkse/thread/thr_suspend_np.c index 082f88bf1855..81ee3282c5b8 100644 --- a/lib/libkse/thread/thr_suspend_np.c +++ b/lib/libkse/thread/thr_suspend_np.c @@ -75,11 +75,13 @@ _pthread_suspend_np(pthread_t thread) if ((thread->flags & PTHREAD_FLAGS_IN_WORKQ) != 0) PTHREAD_WORKQ_REMOVE(thread); _thread_seterrno(thread,EINTR); + + /* FALLTHROUGH */ + case PS_SLEEP_WAIT: thread->interrupted = 1; /* FALLTHROUGH */ case PS_SIGTHREAD: - case PS_SLEEP_WAIT: case PS_WAIT_WAIT: case PS_SIGSUSPEND: case PS_SIGWAIT: diff --git a/lib/libpthread/thread/thr_suspend_np.c b/lib/libpthread/thread/thr_suspend_np.c index 082f88bf1855..81ee3282c5b8 100644 --- a/lib/libpthread/thread/thr_suspend_np.c +++ b/lib/libpthread/thread/thr_suspend_np.c @@ -75,11 +75,13 @@ _pthread_suspend_np(pthread_t thread) if ((thread->flags & PTHREAD_FLAGS_IN_WORKQ) != 0) PTHREAD_WORKQ_REMOVE(thread); _thread_seterrno(thread,EINTR); + + /* FALLTHROUGH */ + case PS_SLEEP_WAIT: thread->interrupted = 1; /* FALLTHROUGH */ case PS_SIGTHREAD: - case PS_SLEEP_WAIT: case PS_WAIT_WAIT: case PS_SIGSUSPEND: case PS_SIGWAIT: