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

ruby-changes:40583

From: usa <ko1@a...>
Date: Thu, 19 Nov 2015 14:00:12 +0900 (JST)
Subject: [ruby-changes:40583] usa:r52662 (trunk): * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,

usa	2015-11-19 13:59:50 +0900 (Thu, 19 Nov 2015)

  New Revision: 52662

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

  Log:
    * win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
      because POSIX platforms just do so.  fixes test errors revealed by
      r52647.

  Modified files:
    trunk/ChangeLog
    trunk/win32/win32.c
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 52661)
+++ ChangeLog	(revision 52662)
@@ -1,3 +1,9 @@ https://github.com/ruby/ruby/blob/trunk/ChangeLog#L1
+Thu Nov 19 13:57:58 2015  NAKAMURA Usaku  <usa@r...>
+
+	* win32/win32.c (finish_overlapped_socket): ignore EMSGSIZE when input,
+	  because POSIX platforms just do so.  fixes test errors revealed by
+	  r52647.
+
 Thu Nov 19 02:52:30 2015  NAKAMURA Usaku  <usa@r...>
 
 	* ext/socket/ancdata.c (bsock_recvmsg_internal): stretch the buffer size
Index: win32/win32.c
===================================================================
--- win32/win32.c	(revision 52661)
+++ win32/win32.c	(revision 52662)
@@ -3276,8 +3276,13 @@ finish_overlapped_socket(BOOL input, SOC https://github.com/ruby/ruby/blob/trunk/win32/win32.c#L3276
 	  default:
 	    if ((err = WSAGetLastError()) == WSAECONNABORTED && !input)
 		errno = EPIPE;
+	    else if (err == WSAEMSGSIZE && input) {
+		result = TRUE;
+		*len = size;
+		break;
+	    }
 	    else
-		errno = map_errno(WSAGetLastError());
+		errno = map_errno(err);
 	    /* thru */
 	  case WAIT_OBJECT_0 + 1:
 	    /* interrupted */

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

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