]> gitweb.factorcode.org Git - factor.git/blobdiff - basis/io/sockets/windows/windows.factor
Fix io.servers -- if it doesn't start up, don't throw an error when it's stopped...
[factor.git] / basis / io / sockets / windows / windows.factor
index b617519fced1d1a34a5f48aebeba4f87fffeb666..ade64485db3b5488d604e6b44b3d86d69e522364 100755 (executable)
@@ -100,7 +100,7 @@ M: winnt WSASocket-flags ( -- DWORD )
         f\r
         f\r
         WSAIoctl SOCKET_ERROR = [\r
-            winsock-error-string throw\r
+            maybe-winsock-exception throw\r
         ] when\r
     ] with-out-parameters ;\r
 \r
@@ -134,7 +134,7 @@ TUPLE: ConnectEx-args port
     int\r
     { SOCKET void* int PVOID DWORD LPDWORD void* }\r
     stdcall alien-indirect drop\r
-    winsock-error-string [ throw ] when* ; inline\r
+    winsock-error ; inline\r
 \r
 M: object establish-connection ( client-out remote -- )\r
     make-sockaddr/size <ConnectEx-args>\r
@@ -164,6 +164,7 @@ TUPLE: AcceptEx-args port
         f >>lpdwBytesReceived\r
         (make-overlapped) >>lpOverlapped ; inline\r
 \r
+! AcceptEx return value is useless\r
 : call-AcceptEx ( AcceptEx -- )\r
     {\r
         [ sListenSocket>> ]\r
@@ -174,8 +175,7 @@ TUPLE: AcceptEx-args port
         [ dwRemoteAddressLength>> ]\r
         [ lpdwBytesReceived>> ]\r
         [ lpOverlapped>> ]\r
-    } cleave AcceptEx drop\r
-    winsock-error-string [ throw ] when* ; inline\r
+    } cleave AcceptEx drop winsock-error ; inline\r
 \r
 : (extract-remote-address) ( lpOutputBuffer dwReceiveDataLength dwLocalAddressLength dwRemoteAddressLength -- sockaddr )\r
     f <void*> 0 <int> f <void*> [ 0 <int> GetAcceptExSockaddrs ] keep *void* ;\r