You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Rebase against 6790d825d1b2c41de73ffe5cb5df28c1d1cc8878.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 0002cf1a076fddb1eecef95f1177ae6562cda785 Mon Sep 17 00:00:00 2001
|
||||
From 9b2d1b5533f52cee4a9445ed83a17e16b6da8b85 Mon Sep 17 00:00:00 2001
|
||||
From: Matt Durgavich <mattdurgavich@gmail.com>
|
||||
Date: Sun, 30 Aug 2015 11:04:08 -0400
|
||||
Subject: ws2_32: Proper WSACleanup implementation using wineserver function
|
||||
@@ -6,16 +6,16 @@ Subject: ws2_32: Proper WSACleanup implementation using wineserver function
|
||||
|
||||
---
|
||||
dlls/ws2_32/socket.c | 22 ++++++++++++++++------
|
||||
dlls/ws2_32/tests/sock.c | 5 ++---
|
||||
dlls/ws2_32/tests/sock.c | 14 +++++++-------
|
||||
server/protocol.def | 3 +++
|
||||
server/sock.c | 9 +++++++++
|
||||
4 files changed, 30 insertions(+), 9 deletions(-)
|
||||
4 files changed, 35 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index ca82ec9..f153de1 100644
|
||||
index d31f0b4..ea45397 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -1469,13 +1469,23 @@ int WINAPI WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)
|
||||
@@ -1487,13 +1487,23 @@ int WINAPI WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)
|
||||
*/
|
||||
INT WINAPI WSACleanup(void)
|
||||
{
|
||||
@@ -46,34 +46,51 @@ index ca82ec9..f153de1 100644
|
||||
|
||||
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index 2d14496..204b852 100644
|
||||
index 3c66f7d..e3732a3 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -1119,20 +1119,19 @@ static void test_WithWSAStartup(void)
|
||||
@@ -1149,18 +1149,17 @@ static void test_WithWSAStartup(void)
|
||||
ok(res == 0, "WSAStartup() failed unexpectedly: %d\n", res);
|
||||
|
||||
/* show that sockets are destroyed automatically after WSACleanup */
|
||||
- todo_wine {
|
||||
SetLastError(0xdeadbeef);
|
||||
res = send(src, "TEST", 4, 0);
|
||||
res = send(pairs[0].src, "TEST", 4, 0);
|
||||
error = WSAGetLastError();
|
||||
ok(res == SOCKET_ERROR, "send should have failed\n");
|
||||
+ todo_wine
|
||||
ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
- ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
+ todo_wine ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
|
||||
SetLastError(0xdeadbeef);
|
||||
res = closesocket(dst);
|
||||
res = send(pairs[0].dst, "TEST", 4, 0);
|
||||
error = WSAGetLastError();
|
||||
ok(res == SOCKET_ERROR, "closesocket should have failed\n");
|
||||
+ todo_wine
|
||||
ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
ok(res == SOCKET_ERROR, "send should have failed\n");
|
||||
- ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
+ todo_wine ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
|
||||
/* Check that all sockets were destroyed */
|
||||
for (i = 0; i < socks; i++)
|
||||
@@ -1180,13 +1179,14 @@ static void test_WithWSAStartup(void)
|
||||
SetLastError(0xdeadbeef);
|
||||
res = getsockname(sock, (struct sockaddr *)&saddr, &size);
|
||||
error = WSAGetLastError();
|
||||
- ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
- ok(error == WSAENOTSOCK, "Test[%d]: expected 10038, got %d\n", i, error);
|
||||
+ if (j == 2 || (j == 0 && i == 0))
|
||||
+ todo_wine ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
+ else
|
||||
+ ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
+ todo_wine ok(error == WSAENOTSOCK, "Test[%d]: expected 10038, got %d\n", i, error);
|
||||
}
|
||||
}
|
||||
|
||||
- }
|
||||
-
|
||||
closesocket(src);
|
||||
closesocket(dst);
|
||||
|
||||
/* While wine is not fixed, close all sockets manually */
|
||||
for (i = 0; i < socks; i++)
|
||||
{
|
||||
diff --git a/server/protocol.def b/server/protocol.def
|
||||
index c313006..2dccb9a 100644
|
||||
index aa37c66..058111a 100644
|
||||
--- a/server/protocol.def
|
||||
+++ b/server/protocol.def
|
||||
@@ -942,6 +942,9 @@ struct rawinput_device
|
||||
@@ -87,10 +104,10 @@ index c313006..2dccb9a 100644
|
||||
/* Set a handle information */
|
||||
@REQ(set_handle_info)
|
||||
diff --git a/server/sock.c b/server/sock.c
|
||||
index 67d6416e..98f8176 100644
|
||||
index 1767dea..090c753 100644
|
||||
--- a/server/sock.c
|
||||
+++ b/server/sock.c
|
||||
@@ -1383,3 +1383,12 @@ DECL_HANDLER(get_socket_info)
|
||||
@@ -1388,3 +1388,12 @@ DECL_HANDLER(get_socket_info)
|
||||
|
||||
release_object( &sock->obj );
|
||||
}
|
||||
@@ -104,5 +121,5 @@ index 67d6416e..98f8176 100644
|
||||
+ close_handle(current->process, sock);
|
||||
+}
|
||||
--
|
||||
2.5.1
|
||||
2.6.2
|
||||
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From e2d45538487646f7d17b35a351887fd94c8381f3 Mon Sep 17 00:00:00 2001
|
||||
From 380a706bf10f26de9a1cd1a440b427f01f012285 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Sun, 6 Sep 2015 12:41:17 +0200
|
||||
Subject: ws2_32: Invalidate client-side file descriptor cache in WSACleanup.
|
||||
@@ -7,15 +7,15 @@ Subject: ws2_32: Invalidate client-side file descriptor cache in WSACleanup.
|
||||
dlls/ntdll/ntdll.spec | 1 +
|
||||
dlls/ntdll/server.c | 24 ++++++++++++++++++++++++
|
||||
dlls/ws2_32/socket.c | 1 +
|
||||
dlls/ws2_32/tests/sock.c | 1 -
|
||||
dlls/ws2_32/tests/sock.c | 5 +----
|
||||
include/wine/server.h | 1 +
|
||||
5 files changed, 27 insertions(+), 1 deletion(-)
|
||||
5 files changed, 28 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
|
||||
index ca3561d..d1205df 100644
|
||||
index c3b6bf0..2b52562 100644
|
||||
--- a/dlls/ntdll/ntdll.spec
|
||||
+++ b/dlls/ntdll/ntdll.spec
|
||||
@@ -1446,6 +1446,7 @@
|
||||
@@ -1458,6 +1458,7 @@
|
||||
|
||||
# Server interface
|
||||
@ cdecl -norelay wine_server_call(ptr)
|
||||
@@ -24,7 +24,7 @@ index ca3561d..d1205df 100644
|
||||
@ cdecl wine_server_handle_to_fd(long long ptr ptr)
|
||||
@ cdecl wine_server_release_fd(long long)
|
||||
diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c
|
||||
index 95111ad..667c0b9 100644
|
||||
index 356d631..381d5aa 100644
|
||||
--- a/dlls/ntdll/server.c
|
||||
+++ b/dlls/ntdll/server.c
|
||||
@@ -915,6 +915,30 @@ int server_remove_fd_from_cache( HANDLE handle )
|
||||
@@ -59,10 +59,10 @@ index 95111ad..667c0b9 100644
|
||||
*
|
||||
* The returned unix_fd should be closed iff needs_close is non-zero.
|
||||
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
|
||||
index f153de1..e06c42f 100644
|
||||
index ea45397..c50d2b6 100644
|
||||
--- a/dlls/ws2_32/socket.c
|
||||
+++ b/dlls/ws2_32/socket.c
|
||||
@@ -1477,6 +1477,7 @@ INT WINAPI WSACleanup(void)
|
||||
@@ -1495,6 +1495,7 @@ INT WINAPI WSACleanup(void)
|
||||
|
||||
if (!--num_startup)
|
||||
{
|
||||
@@ -71,17 +71,21 @@ index f153de1..e06c42f 100644
|
||||
{
|
||||
wine_server_call( req );
|
||||
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
|
||||
index 204b852..b6e2a32 100644
|
||||
index e3732a3..9ed71aa 100644
|
||||
--- a/dlls/ws2_32/tests/sock.c
|
||||
+++ b/dlls/ws2_32/tests/sock.c
|
||||
@@ -1130,7 +1130,6 @@ static void test_WithWSAStartup(void)
|
||||
res = closesocket(dst);
|
||||
error = WSAGetLastError();
|
||||
ok(res == SOCKET_ERROR, "closesocket should have failed\n");
|
||||
- todo_wine
|
||||
ok(error == WSAENOTSOCK, "expected 10038, got %d\n", error);
|
||||
closesocket(src);
|
||||
closesocket(dst);
|
||||
@@ -1179,10 +1179,7 @@ static void test_WithWSAStartup(void)
|
||||
SetLastError(0xdeadbeef);
|
||||
res = getsockname(sock, (struct sockaddr *)&saddr, &size);
|
||||
error = WSAGetLastError();
|
||||
- if (j == 2 || (j == 0 && i == 0))
|
||||
- todo_wine ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
- else
|
||||
- ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
+ ok(res == SOCKET_ERROR, "Test[%d]: getsockname should have failed\n", i);
|
||||
todo_wine ok(error == WSAENOTSOCK, "Test[%d]: expected 10038, got %d\n", i, error);
|
||||
}
|
||||
}
|
||||
diff --git a/include/wine/server.h b/include/wine/server.h
|
||||
index d573d1f..02d9c7b 100644
|
||||
--- a/include/wine/server.h
|
||||
@@ -95,5 +99,5 @@ index d573d1f..02d9c7b 100644
|
||||
/* do a server call and set the last error code */
|
||||
static inline unsigned int wine_server_call_err( void *req_ptr )
|
||||
--
|
||||
2.5.1
|
||||
2.6.2
|
||||
|
||||
|
Reference in New Issue
Block a user