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