summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/thread.c b/thread.c
index da55879824..ed71102007 100644
--- a/thread.c
+++ b/thread.c
@@ -1691,7 +1691,10 @@ static int
thread_io_wait_events(rb_thread_t *th, rb_execution_context_t *ec, int fd, int events, struct timeval *timeout, struct waiting_fd *wfd)
{
#if defined(USE_MN_THREADS) && USE_MN_THREADS
- if (!th_has_dedicated_nt(th) && (events || timeout)) {
+ if (!th_has_dedicated_nt(th) &&
+ (events || timeout) &&
+ th->blocking // no fiber scheduler
+ ) {
int r;
rb_hrtime_t rel, *prel;