summaryrefslogtreecommitdiff
path: root/process.c
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-16 08:26:56 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2018-08-16 08:26:56 +0000
commit3872ea814c0cacbf12bd14cb478f682328862e4a (patch)
treee2cb0b18b5cf1c08e297a7ac79aa6b7171b29565 /process.c
parent960ef493a406365148185b1e108a353e71d2795c (diff)
downloadruby-3872ea814c0cacbf12bd14cb478f682328862e4a.tar.gz
thread_pthread.c: reduce ubf_timer arming for non-signal wakeups
We do not need to rely on SIGVTALRM for non-sighandler wakeups. This will reduce spurious wakeups in cases where sigwait_fd is not grabbed again, soon. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64389 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'process.c')
-rw-r--r--process.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/process.c b/process.c
index 5c099acb89..462a239d5e 100644
--- a/process.c
+++ b/process.c
@@ -1162,6 +1162,10 @@ waitpid_nogvl(void *x)
/* another thread calling rb_sigwait_sleep will process
* signals for us */
if (SIGCHLD_LOSSY) {
+ /*
+ * XXX this may not be needed anymore with new GVL
+ * and sigwait_fd usage
+ */
rb_thread_wakeup_timer_thread(0);
}
rb_native_cond_wait(w->cond, &th->interrupt_lock);