ruby-changes:19355
From: kosaki <ko1@a...>
Date: Sat, 30 Apr 2011 20:19:28 +0900 (JST)
Subject: [ruby-changes:19355] Ruby:r31395 (trunk): * thread.c (rb_fd_copy): Change function argument. Now
kosaki 2011-04-30 20:18:14 +0900 (Sat, 30 Apr 2011) New Revision: 31395 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=31395 Log: * thread.c (rb_fd_copy): Change function argument. Now rb_fd_copy() has fully copy semantics. * include/ruby/intern.h: ditto. Modified files: trunk/ChangeLog trunk/include/ruby/intern.h trunk/thread.c Index: include/ruby/intern.h =================================================================== --- include/ruby/intern.h (revision 31394) +++ include/ruby/intern.h (revision 31395) @@ -250,7 +250,7 @@ void rb_fd_set(int, rb_fdset_t *); void rb_fd_clr(int, rb_fdset_t *); int rb_fd_isset(int, const rb_fdset_t *); -void rb_fd_copy(rb_fdset_t *, const fd_set *, int); +void rb_fd_copy(rb_fdset_t *dst, const rb_fdset_t *src); int rb_fd_select(int, rb_fdset_t *, rb_fdset_t *, rb_fdset_t *, struct timeval *); #define rb_fd_ptr(f) ((f)->fdset) @@ -269,6 +269,7 @@ 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) *((d)->fdset) = *((s)->fdset) #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)) #define rb_fd_resize(n, f) ((void)(f)) @@ -282,7 +283,7 @@ #define rb_fd_set(n, f) FD_SET((n), (f)) #define rb_fd_clr(n, f) FD_CLR((n), (f)) #define rb_fd_isset(n, f) FD_ISSET((n), (f)) -#define rb_fd_copy(d, s, n) (*(d) = *(s)) +#define rb_fd_copy(d, s) (*(d) = *(s)) #define rb_fd_resize(n, f) ((void)(f)) #define rb_fd_ptr(f) (f) #define rb_fd_init(f) FD_ZERO(f) Index: ChangeLog =================================================================== --- ChangeLog (revision 31394) +++ ChangeLog (revision 31395) @@ -1,3 +1,9 @@ +Sat Apr 30 20:16:53 2011 KOSAKI Motohiro <kosaki.motohiro@g...> + + * thread.c (rb_fd_copy): Change function argument. Now + rb_fd_copy() has fully copy semantics. + * include/ruby/intern.h: ditto. + Sat Apr 30 20:11:47 2011 KOSAKI Motohiro <kosaki.motohiro@g...> * include/ruby/intern.h (rb_thread_select): mark as deprecated. Index: thread.c =================================================================== --- thread.c (revision 31394) +++ thread.c (revision 31395) @@ -2381,12 +2381,13 @@ } void -rb_fd_copy(rb_fdset_t *dst, const fd_set *src, int max) +rb_fd_copy(rb_fdset_t *dst, const rb_fdset_t *src) { - size_t size = howmany(max, NFDBITS) * sizeof(fd_mask); + size_t size = howmany(rb_fd_max(src), NFDBITS) * sizeof(fd_mask); - if (size < sizeof(fd_set)) size = sizeof(fd_set); - dst->maxfd = max; + if (size < sizeof(fd_set)) + size = sizeof(fd_set); + dst->maxfd = src->maxfd; dst->fdset = xrealloc(dst->fdset, size); memcpy(dst->fdset, src, size); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/