diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-02-13 09:11:11 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2003-02-13 09:11:11 +0000 |
commit | 937092b8203c373c919a6f307f91e17d4bec5bb1 (patch) | |
tree | 07a130b71a37018a9ffaf3f970f42d4348db3a78 /eval.c | |
parent | 050f2d84603bd9b3761f1e498f81ce74719caeea (diff) |
* range.c (range_step): step might be float 0 < x < 1.
* eval.c (rb_thread_schedule): pause if no runnable thread when
there's only one thread.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3492 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r-- | eval.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -8211,6 +8211,11 @@ rb_thread_schedule() if (!next) { /* raise fatal error to main thread */ curr_thread->node = ruby_current_node; + if (curr->next == curr) { + TRAP_BEG; + pause(); + TRAP_END; + } FOREACH_THREAD_FROM(curr, th) { fprintf(stderr, "deadlock 0x%lx: %s:", th->thread, thread_status_name(th->status)); |