diff options
author | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-25 10:41:16 +0000 |
---|---|---|
committer | eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2018-09-25 10:41:16 +0000 |
commit | e87fb88be844f0fae736768846954b6f6f7dc7c3 (patch) | |
tree | cbe2ab069e40b5b7f3217ce95b793426b303a305 /spec/ruby/optional/capi/ext/thread_spec.c | |
parent | e59bf54b3a88d0465cca021afae7dc05b6db57a7 (diff) | |
download | ruby-e87fb88be844f0fae736768846954b6f6f7dc7c3.tar.gz |
Update to ruby/spec@241f9e7
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64831 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'spec/ruby/optional/capi/ext/thread_spec.c')
-rw-r--r-- | spec/ruby/optional/capi/ext/thread_spec.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/spec/ruby/optional/capi/ext/thread_spec.c b/spec/ruby/optional/capi/ext/thread_spec.c index 3bfe76b925..fed1b1f3b0 100644 --- a/spec/ruby/optional/capi/ext/thread_spec.c +++ b/spec/ruby/optional/capi/ext/thread_spec.c @@ -27,7 +27,7 @@ static VALUE thread_spec_rb_thread_alone() { /* This is unblocked by unblock_func(). */ static void* blocking_gvl_func(void* data) { int rfd = *(int *)data; - char dummy; + char dummy = ' '; ssize_t r; do { @@ -36,7 +36,7 @@ static void* blocking_gvl_func(void* data) { close(rfd); - return (void*)((r == 1) ? Qtrue : Qfalse); + return (void*)((r == 1 && dummy == 'A') ? Qtrue : Qfalse); } static void unblock_gvl_func(void *data) { @@ -57,7 +57,7 @@ static VALUE thread_spec_rb_thread_call_without_gvl(VALUE self) { void* ret; if (pipe(fds) == -1) { - return Qfalse; + rb_raise(rb_eRuntimeError, "could not create pipe"); } ret = rb_thread_call_without_gvl(blocking_gvl_func, &fds[0], unblock_gvl_func, &fds[1]); @@ -82,7 +82,7 @@ static VALUE thread_spec_rb_thread_call_without_gvl_with_ubf_io(VALUE self) { void* ret; if (pipe(fds) == -1) { - return Qfalse; + rb_raise(rb_eRuntimeError, "could not create pipe"); } ret = rb_thread_call_without_gvl(blocking_gvl_func_for_udf_io, |