Sweden-Number/dlls/ntdll/unix
Zebediah Figura 97afac469f ntdll: Avoid accessing the I/O status block in wait_async().
Steam uses WSASend() with completion ports, reusing OVERLAPPED structures as
soon as they are returned from GetQueuedCompletionStatus(). Since completion is
queued during the select request in wait_async(), the I/O status block can be
reused even before the call to NtDeviceIoControl exits.

This works fine with current Wine, because WSASend() doesn't access the I/O
status block after queuing completion. However, a patch that changes it to use
wait_async() like other async requests causes NtDeviceIoControlFile to
consistently return garbage status codes.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-05-24 11:32:28 +02:00
..
cdrom.c ntdll: Add inline wrappers for pthread mutex locking. 2020-09-22 11:28:25 +02:00
debug.c ntdll: Store the debug info for the initial thread next to the PEB. 2021-04-27 16:52:30 +02:00
env.c ntdll: Force executing IL-only binaries on the native machine. 2021-05-07 22:22:49 +02:00
file.c ntdll: Avoid accessing the I/O status block in wait_async(). 2021-05-24 11:32:28 +02:00
loader.c ntdll: Allocate a separate 64-bit stack for Wow64 threads. 2021-05-17 18:49:09 +02:00
loadorder.c ntdll: Fix the check for the main exe in get_load_order(). 2021-05-06 18:12:37 +02:00
process.c ntdll: Validate job handles at process creation. 2021-05-20 21:48:57 +02:00
registry.c ntdll: Make the open_hkcu_key() helper available globally. 2021-03-04 10:42:35 +01:00
security.c server: Merge the various token information queries. 2021-02-17 21:42:18 +01:00
serial.c ntdll: Avoid using RtlQueueWorkItem() in the Unix library. 2020-07-10 13:19:27 +02:00
server.c ntdll: Pass a server context to server_select(). 2021-05-18 17:53:30 +02:00
signal_arm.c ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
signal_arm64.c ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
signal_i386.c ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
signal_x86_64.c ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
sync.c server: Remove support for process-local handle tables. 2021-02-16 11:13:41 +01:00
system.c ntdll: Sort the info classes by numeric value in NtQuerySystemInformation(). 2021-05-03 20:42:29 +02:00
tape.c ntdll: Move the device I/O control functions to the Unix library. 2020-06-16 18:36:30 +02:00
thread.c ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
unix_private.h ntdll: Add platform-specific helpers for getting/setting the Wow64 context. 2021-05-18 17:53:30 +02:00
virtual.c ntdll: Only check the is_wow64 flag on 32-bit platforms. 2021-05-17 18:49:09 +02:00