summaryrefslogtreecommitdiffstats
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
commit060ae1e90cd6b54d4c9c7b2c04ab033e700ed615 (patch)
treed686c70e7069ec3e2eb23bad3c40a418b39b2505 /vm_core.h
parentf702cab822d026f3a314e62d6b1bde3a31427b7c (diff)
downloadruby-060ae1e90cd6b54d4c9c7b2c04ab033e700ed615.tar.gz
ruby-060ae1e90cd6b54d4c9c7b2c04ab033e700ed615.tar.xz
ruby-060ae1e90cd6b54d4c9c7b2c04ab033e700ed615.zip
* 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: http://svn.ruby-lang.org/repos/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 8f39c6899..f0fdafef2 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;