From 1b63d7bc927ace82f91704d6472d90511209f944 Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 30 May 2008 01:52:38 +0000 Subject: * vm_core.h (struct rb_unblock_callback), thread.c (set_unblock_function), thread_{pthread,win32}.c (native_sleep): extracted from struct rb_thread_struct. * thread.c (reset_unblock_function): not check interrupts at leaving blocking region. [ruby-dev:34874] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16699 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 8f39c68995..f0fdafef2d 100644 --- a/vm_core.h +++ b/vm_core.h @@ -373,6 +373,11 @@ struct rb_vm_trap_tag { #define RUBY_VM_VALUE_CACHE_SIZE 0x1000 #define USE_VALUE_CACHE 0 +struct rb_unblock_callback { + rb_unblock_function_t *func; + void *arg; +}; + typedef struct rb_thread_struct rb_thread_t; struct rb_thread_struct @@ -418,9 +423,8 @@ struct rb_thread_struct int exec_signal; int interrupt_flag; - rb_unblock_function_t *unblock_function; - void *unblock_function_arg; rb_thread_lock_t interrupt_lock; + struct rb_unblock_callback unblock; struct rb_vm_tag *tag; struct rb_vm_trap_tag *trap_tag; -- cgit v1.2.3