summaryrefslogtreecommitdiff
path: root/ext/monitor/monitor.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/monitor/monitor.c')
-rw-r--r--ext/monitor/monitor.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/monitor/monitor.c b/ext/monitor/monitor.c
index 00d663195f..10209cf2aa 100644
--- a/ext/monitor/monitor.c
+++ b/ext/monitor/monitor.c
@@ -149,8 +149,8 @@ monitor_wait_for_cond_body(VALUE v)
struct wait_for_cond_data *data = (struct wait_for_cond_data *)v;
struct rb_monitor *mc = monitor_ptr(data->monitor);
// cond.wait(monitor.mutex, timeout)
- rb_funcall(data->cond, rb_intern("wait"), 2, mc->mutex, data->timeout);
- return Qtrue;
+ VALUE signaled = rb_funcall(data->cond, rb_intern("wait"), 2, mc->mutex, data->timeout);
+ return RTEST(signaled) ? Qtrue : Qfalse;
}
static VALUE