From ee7d523631de5755a1b4d8ee1fe8ab8a15edfcde Mon Sep 17 00:00:00 2001 From: usa Date: Tue, 30 Aug 2011 15:04:11 +0000 Subject: * win32/win32.c, include/ruby/intern.h (rb_w32_fd_copy): implement for rb_thread_select() in thread.c. the use of rb_fd_copy() is introduced in r33117. [Bug #5229] [ruby-core:39102] * thread.c (rb_thread_select): must call rb_fd_init() before using rb_fdset_t. see the implementations of rb_fd_init()s if you want to know the reason. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@33128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/intern.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'include') diff --git a/include/ruby/intern.h b/include/ruby/intern.h index 27db84e2c6..db595bb7fa 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -286,6 +286,8 @@ void rb_fd_term(rb_fdset_t *); void rb_fd_set(int, rb_fdset_t *); #define rb_fd_clr(n, f) rb_w32_fdclr((n), (f)->fdset) #define rb_fd_isset(n, f) rb_w32_fdisset((n), (f)->fdset) +#define rb_fd_copy(d, s, n) rb_w32_fd_copy((d), (s), (n)) +void rb_w32_fd_copy(rb_fdset_t *, const fd_set *, int); #define rb_fd_dup(d, s) rb_w32_fd_dup((d), (s)) void rb_w32_fd_dup(rb_fdset_t *dst, const rb_fdset_t *src); #define rb_fd_select(n, rfds, wfds, efds, timeout) rb_w32_select((n), (rfds) ? ((rb_fdset_t*)(rfds))->fdset : NULL, (wfds) ? ((rb_fdset_t*)(wfds))->fdset : NULL, (efds) ? ((rb_fdset_t*)(efds))->fdset: NULL, (timeout)) -- cgit v1.2.3