In message "[ruby-talk:5044] Strange ruby 1.6.0/cygwin1.1/Nt4 behavior/bug"
on 00/09/21, Robert Feldt <feldt / ce.chalmers.se> writes:
|So I figured I'd go install 1.6.0 final. I've previously been running the
|preview (000904) successfully. After installing the latest cygwin
|and the 000919 ruby tarball I get mysterious hangs when I require *some*
|extensions or packages. For example with RubyUnit 0.2.5:
fetch the latest from CVS or apply the following patch, please.
matz.
--- /tmp/ruby-1.6.0/eval.c Tue Sep 19 01:28:34 2000
+++ eval.c Wed Sep 20 13:54:17 2000
@@ -3485,3 +3485,3 @@
struct RVarmap *vars = ruby_dyna_vars;
-
+
while (vars && vars->id != 0) {
@@ -5045,3 +5045,5 @@
}
- goto load_wait;
+ if (strcmp(f+len, ".rb") == 0) {
+ goto load_wait;
+ }
}
@@ -5868,2 +5870,3 @@
for (vars = data->d_vars; vars; vars = vars->next) {
+ if (FL_TEST(vars, DVAR_DONT_RECYCLE)) break;
FL_SET(vars, DVAR_DONT_RECYCLE);
@@ -5949,2 +5952,3 @@
for (vars = data->d_vars; vars; vars = vars->next) {
+ if (FL_TEST(vars, DVAR_DONT_RECYCLE)) break;
FL_SET(vars, DVAR_DONT_RECYCLE);
@@ -7639,2 +7643,3 @@
rb_thread_t th;
+ struct RVarmap *vars;
@@ -7656,2 +7661,6 @@
+ for (vars = ruby_dyna_vars; vars; vars = vars->next) {
+ if (FL_TEST(vars, DVAR_DONT_RECYCLE)) break;
+ FL_SET(vars, DVAR_DONT_RECYCLE);
+ }
return th;
@@ -8142,2 +8151,3 @@
struct tag *tag;
+ struct RVarmap *vars;
@@ -8153,2 +8163,8 @@
th->thread = curr_thread->thread;
+
+ for (vars = ruby_dyna_vars; vars; vars = vars->next) {
+ if (FL_TEST(vars, DVAR_DONT_RECYCLE)) break;
+ FL_SET(vars, DVAR_DONT_RECYCLE);
+ }
+
if (THREAD_SAVE_CONTEXT(th)) {