summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--ruby.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 7111c24760..20d12be937 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Sun Mar 15 11:00:14 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ruby.c (load_file_internal): stop the timer thread before exec.
+
Sun Mar 15 09:17:26 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (.y.c): use SRC_FILE which contains slashes instead of
diff --git a/ruby.c b/ruby.c
index 29cefedec1..49c33d3167 100644
--- a/ruby.c
+++ b/ruby.c
@@ -1499,6 +1499,7 @@ load_file_internal(VALUE arg)
return 0;
if ((p = strstr(RSTRING_PTR(line), "ruby")) == 0) {
+ void rb_thread_stop_timer_thread(void);
/* not ruby script, kick the program */
char **argv;
char *path;
@@ -1525,6 +1526,7 @@ load_file_internal(VALUE arg)
argv = origarg.argv;
}
argv[0] = path;
+ rb_thread_stop_timer_thread();
execv(path, argv);
rb_fatal("Can't exec %s", path);