summaryrefslogtreecommitdiffstats
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
commitde83541d09e15e4a9c920725674c3896ca0017e4 (patch)
tree3460520bbfc759147480d5b286a4df59038990c7
parent857baaaaa8480749860927540012d7df8a92ce79 (diff)
downloadruby-de83541d09e15e4a9c920725674c3896ca0017e4.tar.gz
ruby-de83541d09e15e4a9c920725674c3896ca0017e4.tar.xz
ruby-de83541d09e15e4a9c920725674c3896ca0017e4.zip
* ruby.c (load_file_internal): stop the timer thread before exec.
git-svn-id: http://svn.ruby-lang.org/repos/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 7111c2476..20d12be93 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 29cefedec..49c33d316 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);