From 0a1e04b9f2ed29285d387db123f404a10ab4a5a4 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 8 May 2015 14:24:25 +0200 Subject: [PATCH] Rebase against 3ec3fa5eb7d4eefd3157dfce31dbe561a6cda474. --- patches/patchinstall.sh | 2 +- ...ATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch | 27 ++++++++++--------- ...-support-for-global-and-local-shared.patch | 8 +++--- 3 files changed, 20 insertions(+), 17 deletions(-) diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 9b3cd30b..9f6284ce 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -55,7 +55,7 @@ version() echo "Copyright (C) 2014-2015 the Wine Staging project authors." echo "" echo "Patchset to be applied on upstream Wine:" - echo " commit 3599f956e2bfe3dd76d7134ddd06b1e5cf5be4d5" + echo " commit 3ec3fa5eb7d4eefd3157dfce31dbe561a6cda474" echo "" } diff --git a/patches/server-Address_List_Change/0001-server-Return-STATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch b/patches/server-Address_List_Change/0001-server-Return-STATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch index e5de3642..883f6fd8 100644 --- a/patches/server-Address_List_Change/0001-server-Return-STATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch +++ b/patches/server-Address_List_Change/0001-server-Return-STATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch @@ -1,26 +1,29 @@ -From 899fa865b1e299e275e119e03843894e022290bf Mon Sep 17 00:00:00 2001 +From 9d55100d71863cfcbf71114d3578be1d58f74377 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Fri, 20 Feb 2015 14:03:34 -0700 Subject: server: Return STATUS_CANT_WAIT/WSAEWOULDBLOCK for non-overlapped SIO_ADDRESS_LIST_CHANGE requests on non-blocking sockets. --- - server/sock.c | 2 ++ - 1 file changed, 2 insertions(+) + server/sock.c | 5 +++++ + 1 file changed, 5 insertions(+) diff --git a/server/sock.c b/server/sock.c -index f3bab85..05d2e9e 100644 +index 67d6416..1767dea 100644 --- a/server/sock.c +++ b/server/sock.c -@@ -558,6 +558,8 @@ obj_handle_t sock_ioctl( struct fd *fd, ioctl_code_t code, const async_data_t *a - close_handle( current->process, wait_handle ); - return 0; - } +@@ -546,6 +546,11 @@ obj_handle_t sock_ioctl( struct fd *fd, ioctl_code_t code, const async_data_t *a + switch(code) + { + case WS_SIO_ADDRESS_LIST_CHANGE: + if ((sock->state & FD_WINE_NONBLOCKING) && !blocking) ++ { + set_error( STATUS_CANT_WAIT ); - return wait_handle; - default: - set_error( STATUS_NOT_SUPPORTED ); ++ return 0; ++ } + if (!(ifchange_q = sock_get_ifchange_q( sock ))) return 0; + if (!(async = create_async( current, ifchange_q, async_data ))) return 0; + if (blocking) wait_handle = alloc_handle( current->process, async, SYNCHRONIZE, 0 ); -- -2.3.0 +2.4.0 diff --git a/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch b/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch index 3dc0a495..c6ea79f5 100644 --- a/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch +++ b/patches/server-Shared_Memory/0002-server-Implement-support-for-global-and-local-shared.patch @@ -1,4 +1,4 @@ -From 6b5e2bec64faa4a6f8ba22c1607a9eef762cf039 Mon Sep 17 00:00:00 2001 +From d85bdf641474a9d1bc01fc6d5262077ba3186c59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20M=C3=BCller?= Date: Thu, 19 Mar 2015 01:22:34 +0100 Subject: server: Implement support for global and local shared memory blocks @@ -32,7 +32,7 @@ index 7eded42..79cc2c1 100644 /* security descriptors */ NTSTATUS NTDLL_create_struct_sd(PSECURITY_DESCRIPTOR nt_sd, struct security_descriptor **server_sd, diff --git a/dlls/ntdll/server.c b/dlls/ntdll/server.c -index 652a1aa..2e4fc6e 100644 +index 95111ad..955c392 100644 --- a/dlls/ntdll/server.c +++ b/dlls/ntdll/server.c @@ -972,6 +972,66 @@ done: @@ -110,7 +110,7 @@ index 652a1aa..2e4fc6e 100644 + NtCurrentTeb()->Reserved5[0] = server_get_shared_memory( 0 ); + NtCurrentTeb()->Reserved5[1] = server_get_shared_memory( NtCurrentTeb()->ClientId.UniqueThread ); + - is_wow64 = !is_win64 && (server_cpus & (1 << CPU_x86_64)) != 0; + is_wow64 = !is_win64 && (server_cpus & ((1 << CPU_x86_64) | (1 << CPU_ARM64))) != 0; ntdll_get_thread_data()->wow64_redir = is_wow64; diff --git a/dlls/ntdll/thread.c b/dlls/ntdll/thread.c @@ -419,5 +419,5 @@ index 996d95b..0107a45 100644 struct thread_snapshot -- -2.3.7 +2.4.0