summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-15 08:33:52 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-15 08:33:52 +0000
commit072ccff04debff32072e771bc078fe8bc14ccaad (patch)
tree8a40c5cffae187dca7a2d507b89b19de037d811d /eval.c
parentfaa30cafd475c6f586694910df9767deff97d33e (diff)
* eval.c (rb_thread_join), ext/thread/thread.c (wake_one): adjusts
targets of rest waiting threads to join. [ruby-core:23457] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@23432 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/eval.c b/eval.c
index 02462fa002..989d76d98f 100644
--- a/eval.c
+++ b/eval.c
@@ -11670,6 +11670,16 @@ rb_thread_join(thread, limit)
return rb_thread_join0(rb_thread_check(thread), limit);
}
+void
+rb_thread_set_join(thread, join)
+ VALUE thread, join;
+{
+ rb_thread_t th = rb_thread_check(thread);
+ rb_thread_t jth = rb_thread_check(join);
+ th->wait_for = WAIT_JOIN;
+ th->join = jth;
+}
+
/*
* call-seq: