summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--thread_pthread.c16
-rw-r--r--version.h10
2 files changed, 15 insertions, 11 deletions
diff --git a/thread_pthread.c b/thread_pthread.c
index 810f5c5de6..87d9220ea9 100644
--- a/thread_pthread.c
+++ b/thread_pthread.c
@@ -1318,17 +1318,21 @@ void
rb_thread_wakeup_timer_thread(void)
{
/* must be safe inside sighandler, so no mutex */
- ATOMIC_INC(timer_thread_pipe.writing);
- rb_thread_wakeup_timer_thread_fd(&timer_thread_pipe.normal[1]);
- ATOMIC_DEC(timer_thread_pipe.writing);
+ if (timer_thread_pipe.owner_process == getpid()) {
+ ATOMIC_INC(timer_thread_pipe.writing);
+ rb_thread_wakeup_timer_thread_fd(&timer_thread_pipe.normal[1]);
+ ATOMIC_DEC(timer_thread_pipe.writing);
+ }
}
static void
rb_thread_wakeup_timer_thread_low(void)
{
- ATOMIC_INC(timer_thread_pipe.writing);
- rb_thread_wakeup_timer_thread_fd(&timer_thread_pipe.low[1]);
- ATOMIC_DEC(timer_thread_pipe.writing);
+ if (timer_thread_pipe.owner_process == getpid()) {
+ ATOMIC_INC(timer_thread_pipe.writing);
+ rb_thread_wakeup_timer_thread_fd(&timer_thread_pipe.low[1]);
+ ATOMIC_DEC(timer_thread_pipe.writing);
+ }
}
/* VM-dependent API is not available for this function */
diff --git a/version.h b/version.h
index ecbcf8efec..6f9f64a3af 100644
--- a/version.h
+++ b/version.h
@@ -1,10 +1,10 @@
#define RUBY_VERSION "2.4.4"
-#define RUBY_RELEASE_DATE "2017-12-25"
-#define RUBY_PATCHLEVEL 227
+#define RUBY_RELEASE_DATE "2018-01-15"
+#define RUBY_PATCHLEVEL 228
-#define RUBY_RELEASE_YEAR 2017
-#define RUBY_RELEASE_MONTH 12
-#define RUBY_RELEASE_DAY 25
+#define RUBY_RELEASE_YEAR 2018
+#define RUBY_RELEASE_MONTH 1
+#define RUBY_RELEASE_DAY 15
#include "ruby/version.h"