summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--eval.c7
-rw-r--r--version.h2
3 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 942dec486b..031b1d45b0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri Sep 7 17:06:16 2007 Vincent Isambart <vincent.isambart@gmail.com>
+
+ * eval.c (rb_thread_start_0): should unset time_thread_alive_p.
+ [ruby-talk:257219], [ruby-core:11542], [ruby-dev:31253]
+
Fri Sep 7 16:39:23 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* array.c (rb_ary_subseq): need integer overflow check.
diff --git a/eval.c b/eval.c
index 3dd107654d..7911ce8bfa 100644
--- a/eval.c
+++ b/eval.c
@@ -11846,6 +11846,12 @@ rb_thread_stop_timer()
}
void
+rb_child_atfork()
+{
+ time_thread_alive_p = 0;
+}
+
+void
rb_thread_cancel_timer()
{
#ifdef _THREAD_SAFE
@@ -11939,6 +11945,7 @@ rb_thread_start_0(fn, arg, th)
#ifdef _THREAD_SAFE
pthread_create(&time_thread, 0, thread_timer, 0);
time_thread_alive_p = 1;
+ pthread_atfork(0, 0, rb_child_atfork);
#else
rb_thread_start_timer();
#endif
diff --git a/version.h b/version.h
index 7254457eae..c0881dcb29 100644
--- a/version.h
+++ b/version.h
@@ -2,7 +2,7 @@
#define RUBY_RELEASE_DATE "2007-09-07"
#define RUBY_VERSION_CODE 186
#define RUBY_RELEASE_CODE 20070907
-#define RUBY_PATCHLEVEL 100
+#define RUBY_PATCHLEVEL 101
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 8