server-Desktop_Refcount: Swap dependency with ws2_32-WSACleanup.

To avoid a circular dependency.
This commit is contained in:
Zebediah Figura
2019-05-05 00:24:28 -05:00
parent b1997e35c9
commit 9bfe1fe1f2
5 changed files with 38 additions and 21 deletions

View File

@@ -1,4 +1,4 @@
From cbff2078d971bf23a0a6b289f544cd13fbb26873 Mon Sep 17 00:00:00 2001
From 3350ed6375f384a25c8c60ab0a6ed5de948ad223 Mon Sep 17 00:00:00 2001
From: Matt Durgavich <mattdurgavich@gmail.com>
Date: Sun, 30 Aug 2015 11:04:08 -0400
Subject: [PATCH] ws2_32: Proper WSACleanup implementation using wineserver
@@ -12,10 +12,10 @@ Subject: [PATCH] ws2_32: Proper WSACleanup implementation using wineserver
4 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index e39901d..c013258 100644
index a3026126b..a2b9aea49 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -1663,13 +1663,23 @@ int WINAPI WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)
@@ -1697,13 +1697,23 @@ int WINAPI WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData)
*/
INT WINAPI WSACleanup(void)
{
@@ -46,7 +46,7 @@ index e39901d..c013258 100644
diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c
index 7c55c21..f61df89f 100644
index 0c7f7363b..f0fa8f0b6 100644
--- a/dlls/ws2_32/tests/sock.c
+++ b/dlls/ws2_32/tests/sock.c
@@ -1218,18 +1218,17 @@ static void test_WithWSAStartup(void)
@@ -91,10 +91,10 @@ index 7c55c21..f61df89f 100644
for (i = 0; i < socks; i++)
{
diff --git a/server/protocol.def b/server/protocol.def
index 35824ae..199f470 100644
index 21008d7a8..4013a7cec 100644
--- a/server/protocol.def
+++ b/server/protocol.def
@@ -987,6 +987,9 @@ struct rawinput_device
@@ -1025,6 +1025,9 @@ struct rawinput_device
obj_handle_t handle; /* handle to close */
@END
@@ -105,10 +105,10 @@ index 35824ae..199f470 100644
/* Set a handle information */
@REQ(set_handle_info)
diff --git a/server/sock.c b/server/sock.c
index 84f54f6..9ad4e87 100644
index 1a53ce4b0..5095a6ef9 100644
--- a/server/sock.c
+++ b/server/sock.c
@@ -1355,3 +1355,12 @@ DECL_HANDLER(get_socket_info)
@@ -1334,3 +1334,12 @@ DECL_HANDLER(get_socket_info)
release_object( &sock->obj );
}
@@ -118,9 +118,9 @@ index 84f54f6..9ad4e87 100644
+ unsigned int index = 0;
+ obj_handle_t sock;
+
+ while ((sock = enumerate_handles(current->process, &sock_ops, &index, NULL)))
+ while ((sock = enumerate_handles(current->process, &sock_ops, &index)))
+ close_handle(current->process, sock);
+}
--
1.9.1
2.21.0

View File

@@ -1,2 +1 @@
Fixes: [18670] Properly close sockets when WSACleanup is called
Depends: server-Desktop_Refcount