From 249790802db62ff22c79830d4054c449fa3c243b Mon Sep 17 00:00:00 2001 From: ko1 Date: Wed, 28 Jun 2017 04:49:30 +0000 Subject: introduce rb_thread_ptr() to replace GetThreadPtr(). * vm_core.h (rb_thread_ptr): added to replace GetThreadPtr() macro. * thread.c (in some functions: use "target_th" instead of "th" to make clear that it is not a current thread. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_core.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'vm_core.h') diff --git a/vm_core.h b/vm_core.h index 4a21ba27b0..da2236e581 100644 --- a/vm_core.h +++ b/vm_core.h @@ -672,8 +672,12 @@ typedef struct rb_control_frame_struct { extern const rb_data_type_t ruby_threadptr_data_type; -#define GetThreadPtr(obj, ptr) \ - TypedData_Get_Struct((obj), rb_thread_t, &ruby_threadptr_data_type, (ptr)) +static inline struct rb_thread_struct * +rb_thread_ptr(VALUE thval) +{ + VM_ASSERT(rb_check_typeddata(obj, &ruby_threadptr_data_type) != NULL); + return (struct rb_thread_struct *)DATA_PTR(thval); +} enum rb_thread_status { THREAD_RUNNABLE, -- cgit v1.2.3