summaryrefslogtreecommitdiff
path: root/eval.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-08-02 09:50:37 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-08-02 09:50:37 +0000
commitd65b573aea73565ac4db34c3ab403c9f734fbfd2 (patch)
tree9c31d32ff0826a610af6383ff14f08061792d4ca /eval.c
parent6689997b5eec76e1f3a0f5670f963aa8ae193417 (diff)
matz
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@871 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
-rw-r--r--eval.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/eval.c b/eval.c
index f4b2328dde..352672b9db 100644
--- a/eval.c
+++ b/eval.c
@@ -478,6 +478,8 @@ rb_attr(klass, id, read, write, ex)
}
}
+extern int ruby_in_compile;
+
VALUE ruby_errinfo = Qnil;
extern NODE *ruby_eval_tree_begin;
extern NODE *ruby_eval_tree;
@@ -6892,7 +6894,6 @@ find_bad_fds(dst, src, max)
void
rb_thread_schedule()
{
- extern int ruby_in_compile;
rb_thread_t next; /* OK */
rb_thread_t th;
rb_thread_t curr;
@@ -6906,11 +6907,6 @@ rb_thread_schedule()
int n, max;
int need_select = 0;
- if (ruby_in_compile) {
- printf("switch during compilation.\n");
- abort();
- }
-
rb_thread_pending = 0;
if (curr_thread == curr_thread->next
&& curr_thread->status == THREAD_RUNNABLE)
@@ -7093,6 +7089,7 @@ rb_thread_wait_fd(fd)
int fd;
{
if (curr_thread == curr_thread->next) return;
+ if (ruby_in_compile) return;
curr_thread->status = THREAD_STOPPED;
curr_thread->fd = fd;