diff options
author | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-12-15 19:10:16 +0000 |
---|---|---|
committer | (no author) <(no author)@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2006-12-15 19:10:16 +0000 |
commit | bdc17ed57d403f79f19abf1b04587fc0c1db92fd (patch) | |
tree | c169ed4e853b6dec5b069c2fd950039b095e9c34 /ext | |
parent | 74483e11f55124cf9cd679a8964614fe8b354e4f (diff) |
This commit was manufactured by cvs2svn to create tag 'v1_8_5_11'.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_11@11399 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext')
-rw-r--r-- | ext/dbm/extconf.rb | 8 | ||||
-rw-r--r-- | ext/tk/tcltklib.c | 41 |
2 files changed, 32 insertions, 17 deletions
diff --git a/ext/dbm/extconf.rb b/ext/dbm/extconf.rb index 19bfc1f6d3..52ec688952 100644 --- a/ext/dbm/extconf.rb +++ b/ext/dbm/extconf.rb @@ -46,16 +46,16 @@ def db_prefix(func) end if dblib - db_check(dblib) + dbm_hdr = db_check(dblib) else - for dblib in %w(db db2 db1 dbm gdbm gdbm_compat qdbm) - db_check(dblib) and break + dbm_hdr = %w(db db2 db1 dbm gdbm gdbm_compat qdbm).any? do |dblib| + db_check(dblib) end end have_header("cdefs.h") have_header("sys/cdefs.h") -if /DBM_HDR/ =~ $CFLAGS and have_func(db_prefix("dbm_open")) +if dbm_hdr and have_func(db_prefix("dbm_open")) have_func(db_prefix("dbm_clearerr")) unless $dbm_conf_have_gdbm create_makefile("dbm") end diff --git a/ext/tk/tcltklib.c b/ext/tk/tcltklib.c index 9a6449adc6..10b79f2970 100644 --- a/ext/tk/tcltklib.c +++ b/ext/tk/tcltklib.c @@ -4,7 +4,7 @@ * Oct. 24, 1997 Y. Matsumoto */ -#define TCLTKLIB_RELEASE_DATE "2006-07-10" +#define TCLTKLIB_RELEASE_DATE "2006-12-01" #include "ruby.h" #include "rubysig.h" @@ -5526,10 +5526,15 @@ call_queue_handler(evPtr, flags) *(q->done) = -1; /* back to caller */ - DUMP2("back to caller (caller thread:%lx)", q->thread); - DUMP2(" (current thread:%lx)", rb_thread_current()); - rb_thread_run(q->thread); - DUMP1("finish back to caller"); + if (RTEST(rb_funcall(q->thread, ID_alive_p, 0, 0))) { + DUMP2("back to caller (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + rb_thread_run(q->thread); + DUMP1("finish back to caller"); + } else { + DUMP2("caller is dead (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + } /* end of handler : remove it */ return 1; @@ -5844,10 +5849,15 @@ eval_queue_handler(evPtr, flags) *(q->done) = -1; /* back to caller */ - DUMP2("back to caller (caller thread:%lx)", q->thread); - DUMP2(" (current thread:%lx)", rb_thread_current()); - rb_thread_run(q->thread); - DUMP1("finish back to caller"); + if (RTEST(rb_funcall(q->thread, ID_alive_p, 0, 0))) { + DUMP2("back to caller (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + rb_thread_run(q->thread); + DUMP1("finish back to caller"); + } else { + DUMP2("caller is dead (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + } /* end of handler : remove it */ return 1; @@ -6921,10 +6931,15 @@ invoke_queue_handler(evPtr, flags) *(q->done) = -1; /* back to caller */ - DUMP2("back to caller (caller thread:%lx)", q->thread); - DUMP2(" (current thread:%lx)", rb_thread_current()); - rb_thread_run(q->thread); - DUMP1("finish back to caller"); + if (RTEST(rb_funcall(q->thread, ID_alive_p, 0, 0))) { + DUMP2("back to caller (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + rb_thread_run(q->thread); + DUMP1("finish back to caller"); + } else { + DUMP2("caller is dead (caller thread:%lx)", q->thread); + DUMP2(" (current thread:%lx)", rb_thread_current()); + } /* end of handler : remove it */ return 1; |