mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2024-09-13 09:17:20 -07:00
Added patch to improve ReadDataAvailable handling in FilePipeLocalInformation class.
This commit is contained in:
parent
d97efcbab3
commit
04b7095098
@ -39,6 +39,11 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features included in the next upcoming release [1]:**
|
||||
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.7.42 [221]:**
|
||||
|
||||
*Note: The following list only contains features and bug fixes which are not
|
||||
|
1
debian/changelog
vendored
1
debian/changelog
vendored
@ -1,6 +1,7 @@
|
||||
wine-staging (1.7.43) UNRELEASED; urgency=low
|
||||
* Disable patchset shell32-Default_Folder_ACLs (fixes Wine Staging Bug #265).
|
||||
* Updated patch to calculate msvcrt exponential math operations with higher precision (fixes Wine Staging Bug #268).
|
||||
* Added patch to improve ReadDataAvailable handling in FilePipeLocalInformation class.
|
||||
* Removed patch to use lockfree implementation for FD cache (accepted upstream).
|
||||
* Removed patch to properly handle closing sockets during a select call (accepted upstream).
|
||||
* Removed patches to fix behaviour of VirtualProtect / NtProtectVirtualMemory (accepted upstream).
|
||||
|
@ -0,0 +1,46 @@
|
||||
From b2c20a6b49fdd1ec392b8a7406401343555da73a Mon Sep 17 00:00:00 2001
|
||||
From: Qian Hong <qhong@codeweavers.com>
|
||||
Date: Mon, 30 Mar 2015 07:25:35 +0800
|
||||
Subject: ntdll: Improve ReadDataAvailable handling in FilePipeLocalInformation
|
||||
class support.
|
||||
|
||||
---
|
||||
dlls/ntdll/file.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/ntdll/file.c b/dlls/ntdll/file.c
|
||||
index 0dc5c13..a1ca1d1 100644
|
||||
--- a/dlls/ntdll/file.c
|
||||
+++ b/dlls/ntdll/file.c
|
||||
@@ -2367,6 +2367,7 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
|
||||
case FilePipeLocalInformation:
|
||||
{
|
||||
FILE_PIPE_LOCAL_INFORMATION* pli = ptr;
|
||||
+ int avail, fd, needs_close;
|
||||
|
||||
SERVER_START_REQ( get_named_pipe_info )
|
||||
{
|
||||
@@ -2390,12 +2391,19 @@ NTSTATUS WINAPI NtQueryInformationFile( HANDLE hFile, PIO_STATUS_BLOCK io,
|
||||
pli->MaximumInstances = reply->maxinstances;
|
||||
pli->CurrentInstances = reply->instances;
|
||||
pli->InboundQuota = reply->insize;
|
||||
- pli->ReadDataAvailable = 0; /* FIXME */
|
||||
+ pli->ReadDataAvailable = 0;
|
||||
pli->OutboundQuota = reply->outsize;
|
||||
pli->WriteQuotaAvailable = 0; /* FIXME */
|
||||
pli->NamedPipeState = 0; /* FIXME */
|
||||
pli->NamedPipeEnd = (reply->flags & NAMED_PIPE_SERVER_END) ?
|
||||
FILE_PIPE_SERVER_END : FILE_PIPE_CLIENT_END;
|
||||
+
|
||||
+ if (!server_get_unix_fd( hFile, FILE_READ_DATA, &fd, &needs_close, NULL, NULL ))
|
||||
+ {
|
||||
+ if (!unix_fd_avail( fd, &avail ))
|
||||
+ pli->ReadDataAvailable = min(avail, reply->outsize); /* FIXME */
|
||||
+ if (needs_close) close( fd );
|
||||
+ }
|
||||
}
|
||||
}
|
||||
SERVER_END_REQ;
|
||||
--
|
||||
2.3.7
|
||||
|
@ -1,2 +1,3 @@
|
||||
Fixes: [16550] Fix for ConnectNamedPort return value in overlapped mode
|
||||
Fixes: [17195] Support for named pipe message mode (Linux only)
|
||||
Fixes: Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
|
@ -3108,6 +3108,7 @@ if test "$enable_kernel32_Named_Pipe" -eq 1; then
|
||||
patch_apply kernel32-Named_Pipe/0015-kernel32-tests-Add-tests-for-PIPE_NOWAIT-in-message-.patch
|
||||
patch_apply kernel32-Named_Pipe/0016-ntdll-Allow-to-set-PIPE_NOWAIT-on-byte-mode-pipes.patch
|
||||
patch_apply kernel32-Named_Pipe/0017-kernel32-tests-Add-additional-tests-for-PIPE_NOWAIT-.patch
|
||||
patch_apply kernel32-Named_Pipe/0018-ntdll-Improve-ReadDataAvailable-handling-in-FilePipe.patch
|
||||
(
|
||||
echo '+ { "Dan Kegel", "kernel32: ConnectNamedPort should return FALSE and set ERROR_PIPE_CONNECTED on success in overlapped mode.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "kernel32/tests: Add tests for PeekNamedPipe with partial received messages.", 1 },';
|
||||
@ -3126,6 +3127,7 @@ if test "$enable_kernel32_Named_Pipe" -eq 1; then
|
||||
echo '+ { "Sebastian Lackner", "kernel32/tests: Add tests for PIPE_NOWAIT in message mode.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "ntdll: Allow to set PIPE_NOWAIT on byte-mode pipes.", 1 },';
|
||||
echo '+ { "Sebastian Lackner", "kernel32/tests: Add additional tests for PIPE_NOWAIT in overlapped mode.", 1 },';
|
||||
echo '+ { "Qian Hong", "ntdll: Improve ReadDataAvailable handling in FilePipeLocalInformation class support.", 1 },';
|
||||
) >> "$patchlist"
|
||||
fi
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user