wine/dlls/winsock socket.c tests/sock.c

Alexandre Julliard julliard at wine.codeweavers.com
Tue Nov 29 10:41:50 CST 2005


ChangeSet ID:	21552
CVSROOT:	/opt/cvs-commit
Module name:	wine
Changes by:	julliard at winehq.org	2005/11/29 10:41:50

Modified files:
	dlls/winsock   : socket.c 
	dlls/winsock/tests: sock.c 

Log message:
	Rein Klazes <wijn at wanadoo.nl>
	Clear the reference counter in WSACleanup, with regression test.

Patch: http://cvs.winehq.org/patch.py?id=21552

Old revision  New revision  Changes     Path
 1.199         1.200         +3 -1       wine/dlls/winsock/socket.c
 1.29          1.30          +8 -1       wine/dlls/winsock/tests/sock.c

Index: wine/dlls/winsock/socket.c
diff -u -p wine/dlls/winsock/socket.c:1.199 wine/dlls/winsock/socket.c:1.200
--- wine/dlls/winsock/socket.c:1.199	29 Nov 2005 16:41:50 -0000
+++ wine/dlls/winsock/socket.c	29 Nov 2005 16:41:50 -0000
@@ -831,8 +831,10 @@ int WINAPI WSAStartup(WORD wVersionReque
  */
 INT WINAPI WSACleanup(void)
 {
-    if (num_startup)
+    if (num_startup) {
+        num_startup--;
         return 0;
+    }
     SetLastError(WSANOTINITIALISED);
     return SOCKET_ERROR;
 }
Index: wine/dlls/winsock/tests/sock.c
diff -u -p wine/dlls/winsock/tests/sock.c:1.29 wine/dlls/winsock/tests/sock.c:1.30
--- wine/dlls/winsock/tests/sock.c:1.29	29 Nov 2005 16:41:50 -0000
+++ wine/dlls/winsock/tests/sock.c	29 Nov 2005 16:41:50 -0000
@@ -709,8 +709,15 @@ static void Init (void)
 
 static void Exit (void)
 {
+    INT ret, err;
     TlsFree ( tls );
-    ok ( WSACleanup() == 0, "WSACleanup failed\n" );
+    ret = WSACleanup();
+    err = WSAGetLastError();
+    ok ( ret == 0, "WSACleanup failed ret = %d GetLastError is %d\n", ret, err);
+    ret = WSACleanup();
+    err = WSAGetLastError();
+    ok ( ret == SOCKET_ERROR && err ==  WSANOTINITIALISED,
+            "WSACleanup returned %d GetLastError is %d\n", ret, err);
 }
 
 static void StartServer (LPTHREAD_START_ROUTINE routine,



More information about the wine-cvs mailing list