Added patch for support of non-blocking SIO_ADDRESS_LIST_CHANGE requests.

This commit is contained in:
Sebastian Lackner 2015-02-22 00:32:18 +01:00
parent 3bfb699f09
commit 8f19269b34
5 changed files with 49 additions and 1 deletions

View File

@ -38,7 +38,7 @@ Wine. All those differences are also documented on the
Included bug fixes and improvements
===================================
**Bugfixes and features included in the next upcoming release [15]:**
**Bugfixes and features included in the next upcoming release [16]:**
* Add semi-stub for GetFileVersionInfoExA/W ([Wine Bug #38098](https://bugs.winehq.org/show_bug.cgi?id=38098))
* Add semi-stub for GetFileVersionInfoSizeExA/W ([Wine Bug #38090](https://bugs.winehq.org/show_bug.cgi?id=38090))
@ -55,6 +55,7 @@ Included bug fixes and improvements
* Implement ntoskrnl.KeInitializeMutex
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
* Improve stubs for AEV_{Get,Set}Mute
* Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests ([Wine Bug #38062](https://bugs.winehq.org/show_bug.cgi?id=38062))
**Bugs fixed in Wine Staging 1.7.36 [167]:**

1
debian/changelog vendored
View File

@ -19,6 +19,7 @@ wine-staging (1.7.37) UNRELEASED; urgency=low
* Added patch to ignore unsupported alpha channels in TIFF decoder.
* Added patch to add stub for ntoskrnl.Mm{Map,Unmap}LockedPages.
* Added patch to implement ntoskrnl.KeInitializeMutex.
* Added patch for support of non-blocking SIO_ADDRESS_LIST_CHANGE requests.
* Removed patches for UTF7 support (accepted upstream).
* Removed patches for SIO_ADDRESS_LIST_CHANGE ioctl (accepted upstream).
* Removed patch for IApplicationAssociationRegistration::QueryCurrentDefault (accepted upstream).

View File

@ -149,6 +149,7 @@ patch_enable_all ()
enable_riched20_IText_Interface="$1"
enable_secur32_Schannel_ContextAttr="$1"
enable_server_ACL_Compat="$1"
enable_server_Address_List_Change="$1"
enable_server_ClipCursor="$1"
enable_server_CreateProcess_ACLs="$1"
enable_server_Inherited_ACLs="$1"
@ -477,6 +478,9 @@ patch_enable ()
server-ACL_Compat)
enable_server_ACL_Compat="$2"
;;
server-Address_List_Change)
enable_server_Address_List_Change="$2"
;;
server-ClipCursor)
enable_server_ClipCursor="$2"
;;
@ -2680,6 +2684,21 @@ if test "$enable_server_ACL_Compat" -eq 1; then
) >> "$patchlist"
fi
# Patchset server-Address_List_Change
# |
# | This patchset fixes the following Wine bugs:
# | * [#38062] Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests
# |
# | Modified files:
# | * server/sock.c
# |
if test "$enable_server_Address_List_Change" -eq 1; then
patch_apply server-Address_List_Change/0001-server-Return-STATUS_CANT_WAIT-WSAEWOULDBLOCK-for-no.patch
(
echo '+ { "Erich E. Hoover", "server: Return STATUS_CANT_WAIT/WSAEWOULDBLOCK for non-overlapped SIO_ADDRESS_LIST_CHANGE requests on non-blocking sockets.", 1 },';
) >> "$patchlist"
fi
# Patchset server-ClipCursor
# |
# | This patchset fixes the following Wine bugs:

View File

@ -0,0 +1,26 @@
From 899fa865b1e299e275e119e03843894e022290bf Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@wine-staging.com>
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(+)
diff --git a/server/sock.c b/server/sock.c
index f3bab85..05d2e9e 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;
}
+ if ((sock->state & FD_WINE_NONBLOCKING) && !blocking)
+ set_error( STATUS_CANT_WAIT );
return wait_handle;
default:
set_error( STATUS_NOT_SUPPORTED );
--
2.3.0

View File

@ -0,0 +1 @@
Fixes: [38062] Support for non-blocking SIO_ADDRESS_LIST_CHANGE requests