mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* ext/tk/tcltklib.c: shouldn't run the killed thread at callback.
[ruby-talk: 227408] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@11317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f114b85d89
commit
26474005b0
2 changed files with 33 additions and 13 deletions
|
@ -1,3 +1,8 @@
|
|||
Fri Dec 1 16:31:53 2006 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
||||
|
||||
* ext/tk/tcltklib.c: shouldn't run the killed thread at callback.
|
||||
[ruby-talk: 227408]
|
||||
|
||||
Mon Nov 27 17:18:27 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
|
||||
|
||||
* sprintf.c (rb_f_sprintf): need not to truncate string if no
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue