summaryrefslogtreecommitdiff
path: root/ext/tk/tcltklib.c
diff options
context:
space:
mode:
authornagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-12 16:51:12 +0000
committernagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-06-12 16:51:12 +0000
commit283826f751e9447485bd322ea108daf8b9b824d4 (patch)
treeabd011b214dbaf449724307021049a44eb91a99d /ext/tk/tcltklib.c
parentbbcd6dfc96c0273f4bf83e89286eed03ccd2b045 (diff)
* ext/tk/tcltklib.c: [trial patch] On some environments, it gives
better responce about callbacks across threads. But on the other environments, it has no effect. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/tcltklib.c')
-rw-r--r--ext/tk/tcltklib.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/ext/tk/tcltklib.c b/ext/tk/tcltklib.c
index e337894f4f..0297b175cd 100644
--- a/ext/tk/tcltklib.c
+++ b/ext/tk/tcltklib.c
@@ -4,7 +4,7 @@
* Oct. 24, 1997 Y. Matsumoto
*/
-#define TCLTKLIB_RELEASE_DATE "2008-06-11"
+#define TCLTKLIB_RELEASE_DATE "2008-06-12"
#include "ruby.h"
@@ -116,7 +116,7 @@ fprintf(stderr, ARG1, ARG2, ARG3); fprintf(stderr, "\n"); fflush(stderr); }
*/
/* release date */
-const const char tcltklib_release_date[] = TCLTKLIB_RELEASE_DATE;
+static const char tcltklib_release_date[] = TCLTKLIB_RELEASE_DATE;
/* finalize_proc_name */
static char *finalize_hook_name = "INTERP_FINALIZE_HOOK";
@@ -424,9 +424,15 @@ Tcl_Interp *current_interp;
: USE_TOGGLE_WINDOW_MODE_FOR_IDLE 0
: DO_THREAD_SCHEDULE_AT_CALLBACK_DONE 0
*/
+#ifdef RUBY_USE_NATIVE_THREAD
+#define CONTROL_BY_STATUS_OF_RB_THREAD_WAITING_FOR_VALUE 1
+#define USE_TOGGLE_WINDOW_MODE_FOR_IDLE 0
+#define DO_THREAD_SCHEDULE_AT_CALLBACK_DONE 1
+#else /* ! RUBY_USE_NATIVE_THREAD */
#define CONTROL_BY_STATUS_OF_RB_THREAD_WAITING_FOR_VALUE 1
#define USE_TOGGLE_WINDOW_MODE_FOR_IDLE 0
#define DO_THREAD_SCHEDULE_AT_CALLBACK_DONE 0
+#endif
#if CONTROL_BY_STATUS_OF_RB_THREAD_WAITING_FOR_VALUE
static int have_rb_thread_waiting_for_value = 0;