summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-02-21 09:33:05 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2003-02-21 09:33:05 +0000
commit32f5e4ecdbfe08dc4549e5fa371a98bca104b46c (patch)
treee3e48cb5f264d59bcf5edd41e91fd5de49ef6d01 /eval.c
parent800ad6ef9402543f80c73b1772d0ebcee7a6751b (diff)
* io.c (argf_to_io): should prefetch argv.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@3525 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/eval.c b/eval.c
index 2b019264e3..f21c5c1333 100644
--- a/eval.c
+++ b/eval.c
@@ -7891,7 +7891,9 @@ rb_thread_schedule()
next->gid = 0;
rb_thread_ready(next);
next->status = THREAD_TO_KILL;
- rb_thread_save_context(curr_thread);
+ if (!rb_thread_dead(curr_thread)) {
+ rb_thread_save_context(curr_thread);
+ }
rb_thread_deadlock();
}
next->wait_for = 0;