[Box Backup-dev] COMMIT r908 - box/chris/merge/lib/server

boxbackup-dev at fluffy.co.uk boxbackup-dev at fluffy.co.uk
Fri Sep 1 00:40:18 BST 2006


Author: chris
Date: 2006-09-01 00:40:18 +0100 (Fri, 01 Sep 2006)
New Revision: 908

Modified:
   box/chris/merge/lib/server/SocketStreamTLS.cpp
Log:
(refs #3)

Added support for non-blocking sockets on Win32 as well


Modified: box/chris/merge/lib/server/SocketStreamTLS.cpp
===================================================================
--- box/chris/merge/lib/server/SocketStreamTLS.cpp	2006-08-31 23:39:24 UTC (rev 907)
+++ box/chris/merge/lib/server/SocketStreamTLS.cpp	2006-08-31 23:40:18 UTC (rev 908)
@@ -137,8 +137,12 @@
 		THROW_EXCEPTION(ServerException, TLSAllocationFailed)
 	}
 
-#ifndef WIN32
 	// Make the socket non-blocking so timeouts on Read work
+
+#ifdef WIN32
+	u_long nonblocking = 1;
+	ioctlsocket(socket, FIONBIO, &nonblocking);
+#else // !WIN32
 	// This is more portable than using ioctl with FIONBIO
 	int statusFlags = 0;
 	if(::fcntl(socket, F_GETFL, &statusFlags) < 0
@@ -309,7 +313,7 @@
 
 		case SSL_ERROR_WANT_READ:
 		case SSL_ERROR_WANT_WRITE:
-			// wait for the requried data
+			// wait for the required data
 			// Will only get once around this loop, so don't need to calculate timeout values
 			if(WaitWhenRetryRequired(se, Timeout) == false)
 			{




More information about the Boxbackup-dev mailing list