diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-30 11:18:14 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-04-30 11:18:14 +0000 |
commit | 225fa965bc5807a356b94944916af0573ab692a9 (patch) | |
tree | 98785641f56566d95af0a42ac4bd45f2ed67e4f3 /thread.c | |
parent | 2d2544c8e66ce6cc0973611145d442a165a9c663 (diff) |
* thread.c (rb_fd_copy): Change function argument. Now
rb_fd_copy() has fully copy semantics.
* include/ruby/intern.h: ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'thread.c')
-rw-r--r-- | thread.c | 9 |
1 files changed, 5 insertions, 4 deletions
@@ -2381,12 +2381,13 @@ rb_fd_isset(int n, const rb_fdset_t *fds) } 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); } |