summaryrefslogtreecommitdiff
path: root/thread.c
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-10 23:34:03 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-11-10 23:34:03 +0000
commit6ebdf24500f845b76e42d9f2b715773ad51730d5 (patch)
tree447ab063bafa70724a437d10cdd48beb87f91095 /thread.c
parent145f07fac22726cc4d11b35047ac44853a21d27b (diff)
* thread.c (blocking_region_begin): define before BLOCKING_REGION.
reported by Luis Lavena. [ruby-core:26670] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25713 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r--thread.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/thread.c b/thread.c
index 895bc77795..11d3ed6335 100644
--- a/thread.c
+++ b/thread.c
@@ -122,6 +122,17 @@ static inline void blocking_region_end(rb_thread_t *th, struct rb_blocking_regio
GVL_UNLOCK_END(); \
} while(0);
+#define blocking_region_begin(th, region, func, arg) \
+ do { \
+ (region)->prev_status = (th)->status; \
+ (th)->blocking_region_buffer = (region); \
+ set_unblock_function((th), (func), (arg), &(region)->oldubf); \
+ (th)->status = THREAD_STOPPED; \
+ thread_debug("enter blocking region (%p)\n", (void *)(th)); \
+ RB_GC_SAVE_MACHINE_CONTEXT(th); \
+ native_mutex_unlock(&(th)->vm->global_vm_lock); \
+ } while (0)
+
#define BLOCKING_REGION(exec, ubf, ubfarg) do { \
rb_thread_t *__th = GET_THREAD(); \
struct rb_blocking_region_buffer __region; \
@@ -987,16 +998,6 @@ rb_thread_schedule(void)
}
/* blocking region */
-#define blocking_region_begin(th, region, func, arg) \
- do { \
- (region)->prev_status = (th)->status; \
- (th)->blocking_region_buffer = (region); \
- set_unblock_function((th), (func), (arg), &(region)->oldubf); \
- (th)->status = THREAD_STOPPED; \
- thread_debug("enter blocking region (%p)\n", (void *)(th)); \
- RB_GC_SAVE_MACHINE_CONTEXT(th); \
- native_mutex_unlock(&(th)->vm->global_vm_lock); \
- } while (0)
static inline void
blocking_region_end(rb_thread_t *th, struct rb_blocking_region_buffer *region)