diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-09 01:52:01 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-05-09 01:52:01 +0000 |
commit | 639bfd6d9c52ba7b5371986af8a3329c46bd62a1 (patch) | |
tree | 64072c2c2dfc5cc3f8ca5465060654843bae082b /thread.c | |
parent | a46df859ccc62fd7847d112b898b3dd5b694f2f7 (diff) | |
download | ruby-639bfd6d9c52ba7b5371986af8a3329c46bd62a1.tar.gz |
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
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 11 |
1 files changed, 6 insertions, 5 deletions
@@ -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 |