From 7bde63fad6f3e75208b27b8f6fbdb90dbb5be8f9 Mon Sep 17 00:00:00 2001 From: normal Date: Thu, 23 Aug 2018 19:49:35 +0000 Subject: [PATCH] thread_pthread.c (ubf_timer_destroy): remove redundant getpid check TIMER_THREAD_CREATED_P already checks that pid, and glibc 2.25+ no longer caches getpid(2). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64524 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- thread_pthread.c | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/thread_pthread.c b/thread_pthread.c index 2923c1514c..64b2684c22 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -1714,17 +1714,14 @@ static void ubf_timer_destroy(void) { #if UBF_TIMER == UBF_TIMER_PTHREAD - rb_pid_t current = getpid(); - if (timer_pthread.owner == current) { - int err; + int err; - timer_pthread.owner = 0; - ubf_timer_disarm(); - rb_thread_wakeup_timer_thread_fd(timer_pthread.low[1]); - err = pthread_join(timer_pthread.thid, 0); - if (err) { - rb_raise(rb_eThreadError, "native_thread_join() failed (%d)", err); - } + timer_pthread.owner = 0; + ubf_timer_disarm(); + rb_thread_wakeup_timer_thread_fd(timer_pthread.low[1]); + err = pthread_join(timer_pthread.thid, 0); + if (err) { + rb_raise(rb_eThreadError, "native_thread_join() failed (%d)", err); } #endif /* no need to destroy real POSIX timers */