diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-08 12:06:08 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-08 12:06:08 +0000 |
| commit | a74230c45de8337ccf78ff8b48d094d622bf2c69 (patch) | |
| tree | c0e45540b831e747f10544c63cc56e57d89b76ca /thread.c | |
| parent | 6f088f38bd8ec794671c018ca9c6e79e580c2acb (diff) | |
| download | ruby-a74230c45de8337ccf78ff8b48d094d622bf2c69.tar.gz ruby-a74230c45de8337ccf78ff8b48d094d622bf2c69.tar.xz ruby-a74230c45de8337ccf78ff8b48d094d622bf2c69.zip | |
* thread.c (GVL_UNLOCK_RANGE): rename to BLOCKING_REGION().
* thread.c (rb_thread_run_parallel): rename to
rb_thread_blocking_region().
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@11663 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
| -rw-r--r-- | thread.c | 19 |
1 files changed, 9 insertions, 10 deletions
@@ -92,7 +92,7 @@ NOINLINE(void rb_gc_save_machine_context(rb_thread_t *)); rb_thread_set_current(_th_stored); \ } while(0) -#define GVL_UNLOCK_RANGE(exec, ubf) do { \ +#define BLOCKING_REGION(exec, ubf) do { \ rb_thread_t *__th = GET_THREAD(); \ int __prev_status = __th->status; \ set_unblock_function(__th, ubf, 0); \ @@ -596,22 +596,21 @@ rb_thread_s_critical(VALUE self) return Qnil; } - VALUE -rb_thread_run_parallel(VALUE(*func)(rb_thread_t *th, void *), void *data, - rb_unblock_function_t *ubf) +rb_thread_blocking_region( + VALUE(*func)(rb_thread_t *th, void *), void *data, + rb_unblock_function_t *ubf) { VALUE val; rb_thread_t *th = GET_THREAD(); - - GVL_UNLOCK_RANGE({ + + BLOCKING_REGION({ val = func(th, data); }, ubf); - + return val; } - /* * call-seq: * Thread.pass => nil @@ -1661,7 +1660,7 @@ do_select(int n, fd_set *read, fd_set *write, fd_set *except, if (write) orig_write = *write; if (except) orig_except = *except; - GVL_UNLOCK_RANGE({ + BLOCKING_REGION({ result = select(n, read, write, except, wait); if (result < 0) lerrno = errno; }, 0); @@ -1673,7 +1672,7 @@ do_select(int n, fd_set *read, fd_set *write, fd_set *except, wait = &wait_100ms; } while (timeout == 0 || subst(timeout, &wait_100ms)); #else - GVL_UNLOCK_RANGE({ + BLOCKING_REGION({ result = select(n, read, write, except, timeout); if (result < 0) lerrno = errno; }, ubf_select); |
