mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* win32/win32.c (rb_w32_select): shoudn't pass non-socket handle to
original select(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
dfd0d6a5ca
commit
dde0905830
2 changed files with 9 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
Sat Jul 12 01:54:13 2008 NAKAMURA Usaku <usa@ruby-lang.org>
|
||||||
|
|
||||||
|
* win32/win32.c (rb_w32_select): shoudn't pass non-socket handle to
|
||||||
|
original select().
|
||||||
|
|
||||||
Fri Jul 11 23:05:40 2008 Yusuke Endoh <mame@tsg.ne.jp>
|
Fri Jul 11 23:05:40 2008 Yusuke Endoh <mame@tsg.ne.jp>
|
||||||
|
|
||||||
* test/zlib/test_zlib.rb: add a test for Zlib::Deflate#params.
|
* test/zlib/test_zlib.rb: add a test for Zlib::Deflate#params.
|
||||||
|
|
|
@ -2150,6 +2150,7 @@ rb_w32_select(int nfds, fd_set *rd, fd_set *wr, fd_set *ex,
|
||||||
fd_set cons_rd;
|
fd_set cons_rd;
|
||||||
fd_set else_rd;
|
fd_set else_rd;
|
||||||
fd_set else_wr;
|
fd_set else_wr;
|
||||||
|
fd_set except;
|
||||||
int nonsock = 0;
|
int nonsock = 0;
|
||||||
|
|
||||||
if (nfds < 0 || (timeout && (timeout->tv_sec < 0 || timeout->tv_usec < 0))) {
|
if (nfds < 0 || (timeout && (timeout->tv_sec < 0 || timeout->tv_usec < 0))) {
|
||||||
|
@ -2178,6 +2179,9 @@ rb_w32_select(int nfds, fd_set *rd, fd_set *wr, fd_set *ex,
|
||||||
else_wr.fd_count = 0;
|
else_wr.fd_count = 0;
|
||||||
nonsock += extract_fd(&else_wr, wr, is_not_socket);
|
nonsock += extract_fd(&else_wr, wr, is_not_socket);
|
||||||
|
|
||||||
|
except.fd_count = 0;
|
||||||
|
extract_fd(&except, ex, is_not_socket); // drop only
|
||||||
|
|
||||||
r = 0;
|
r = 0;
|
||||||
if (rd && rd->fd_count > r) r = rd->fd_count;
|
if (rd && rd->fd_count > r) r = rd->fd_count;
|
||||||
if (wr && wr->fd_count > r) r = wr->fd_count;
|
if (wr && wr->fd_count > r) r = wr->fd_count;
|
||||||
|
|
Loading…
Reference in a new issue