summaryrefslogtreecommitdiff
path: root/thread_sync.c
diff options
context:
space:
mode:
Diffstat (limited to 'thread_sync.c')
-rw-r--r--thread_sync.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/thread_sync.c b/thread_sync.c
index 10ff9c49b1..67d796233c 100644
--- a/thread_sync.c
+++ b/thread_sync.c
@@ -402,6 +402,7 @@ rb_mutex_unlock_th(rb_mutex_t *mutex, rb_thread_t *th, rb_fiber_t *fiber)
if (cur->th->scheduler != Qnil) {
rb_scheduler_unblock(cur->th->scheduler, cur->self, rb_fiberptr_self(cur->fiber));
+ goto found;
} else {
switch (cur->th->status) {
case THREAD_RUNNABLE: /* from someone else calling Thread#run */