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 + + * ruby.c (load_file_internal): stop the timer thread before exec. + Sun Mar 15 09:17:26 2009 Nobuyoshi Nakada * 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);