summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-15 02:00:15 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-03-15 02:00:15 +0000
commit731504b4d33ef12f21e9fc20fe3d63261af2295f (patch)
tree3460520bbfc759147480d5b286a4df59038990c7
parent28398e91f114f1b47d51965e03e5198e30268e18 (diff)
* ruby.c (load_file_internal): stop the timer thread before exec.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22965 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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);