[前][次][番号順一覧][スレッド一覧]

ruby-changes:6518

From: usa <ko1@a...>
Date: Sat, 12 Jul 2008 01:55:46 +0900 (JST)
Subject: [ruby-changes:6518] Ruby:r18033 (trunk): * win32/win32.c (rb_w32_select): shoudn't pass non-socket handle to

usa	2008-07-12 01:55:14 +0900 (Sat, 12 Jul 2008)

  New Revision: 18033

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18033

  Log:
    * win32/win32.c (rb_w32_select): shoudn't pass non-socket handle to
      original select().

  Modified files:
    trunk/ChangeLog
    trunk/win32/win32.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 18032)
+++ ChangeLog	(revision 18033)
@@ -1,3 +1,8 @@
+Sat Jul 12 01:54:13 2008  NAKAMURA Usaku  <usa@r...>
+
+	* 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@t...>
 
 	* test/zlib/test_zlib.rb: add a test for Zlib::Deflate#params.
Index: win32/win32.c
===================================================================
--- win32/win32.c	(revision 18032)
+++ win32/win32.c	(revision 18033)
@@ -2150,6 +2150,7 @@
     fd_set cons_rd;
     fd_set else_rd;
     fd_set else_wr;
+    fd_set except;
     int nonsock = 0;
 
     if (nfds < 0 || (timeout && (timeout->tv_sec < 0 || timeout->tv_usec < 0))) {
@@ -2178,6 +2179,9 @@
     else_wr.fd_count = 0;
     nonsock += extract_fd(&else_wr, wr, is_not_socket);
 
+    except.fd_count = 0;
+    extract_fd(&except, ex, is_not_socket); // drop only
+
     r = 0;
     if (rd && rd->fd_count > r) r = rd->fd_count;
     if (wr && wr->fd_count > r) r = wr->fd_count;

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]