summaryrefslogtreecommitdiff
path: root/vm_core.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-30 01:52:38 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-05-30 01:52:38 +0000
commit1b63d7bc927ace82f91704d6472d90511209f944 (patch)
treed686c70e7069ec3e2eb23bad3c40a418b39b2505 /vm_core.h
parentb9ff5a2fd6d24ce828184729addc40d2825a8896 (diff)
* 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
Diffstat (limited to 'vm_core.h')
-rw-r--r--vm_core.h8
1 files changed, 6 insertions, 2 deletions
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;