From 639bfd6d9c52ba7b5371986af8a3329c46bd62a1 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 9 May 2016 01:52:01 +0000 Subject: thread.c: GET_THREAD once in rb_thread_atfork * thread.c (rb_thread_atfork_internal): move th to an argument. * thread.c (rb_thread_atfork): do not repeat GET_THREAD(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54961 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ thread.c | 11 ++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index cfc3b5c6df..829b303dee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Mon May 9 10:51:59 2016 Nobuyoshi Nakada + + * thread.c (rb_thread_atfork_internal): move th to an argument. + + * thread.c (rb_thread_atfork): do not repeat GET_THREAD(). + Mon May 9 10:46:36 2016 Nobuyoshi Nakada * thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do diff --git a/thread.c b/thread.c index fac0bec8d2..457c996302 100644 --- a/thread.c +++ b/thread.c @@ -3942,9 +3942,8 @@ clear_coverage(void) } static void -rb_thread_atfork_internal(void (*atfork)(rb_thread_t *, const rb_thread_t *)) +rb_thread_atfork_internal(rb_thread_t *th, void (*atfork)(rb_thread_t *, const rb_thread_t *)) { - rb_thread_t *th = GET_THREAD(); rb_thread_t *i = 0; rb_vm_t *vm = th->vm; vm->main_thread = th; @@ -3973,8 +3972,9 @@ terminate_atfork_i(rb_thread_t *th, const rb_thread_t *current_th) void rb_thread_atfork(void) { - rb_thread_atfork_internal(terminate_atfork_i); - GET_THREAD()->join_list = NULL; + rb_thread_t *th = GET_THREAD(); + rb_thread_atfork_internal(th, terminate_atfork_i); + th->join_list = NULL; /* We don't want reproduce CVE-2003-0900. */ rb_reset_random_seed(); @@ -3991,7 +3991,8 @@ terminate_atfork_before_exec_i(rb_thread_t *th, const rb_thread_t *current_th) void rb_thread_atfork_before_exec(void) { - rb_thread_atfork_internal(terminate_atfork_before_exec_i); + rb_thread_t *th = GET_THREAD(); + rb_thread_atfork_internal(th, terminate_atfork_before_exec_i); } #else void -- cgit v1.2.3