Sweden-Number/dlls/ntdll
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
..
tests ntdll/tests: Only load RtlWow64GetCpuAreaInfo() on 64-bit. 2021-05-21 18:08:45 +02:00
unix ntdll: Avoid accessing the I/O status block in wait_async(). 2021-05-24 11:32:28 +02:00
Makefile.in ntdll: Remove no longer used defines from the makefile. 2021-04-22 15:32:44 +02:00
actctx.c ntdll: Parse the loadFrom attribute in manifest dll elements. 2021-04-19 15:39:55 +02:00
atom.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
critsection.c
crypt.c
debugbuffer.c ntdll: Return failure from RtlQueryProcessDebugInformation. 2020-11-26 21:31:53 +01:00
directory.c ntdll: Define NtCurrentTeb64() on 64-bit to avoid some #ifdefs. 2021-04-01 12:25:21 +02:00
env.c ntdll: Don't fail when trying to remove the value of a non-existant variable in RtlSetEnvironmentVariable(). 2021-04-21 22:11:27 +02:00
error.c ntdll: Quiet the FIXME for unmapped NTSTATUS values. 2021-05-04 09:37:33 +02:00
exception.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
handletable.c
heap.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
large_int.c
loader.c ntdll: Always send the native TEB pointer to the server. 2021-05-13 16:45:28 +02:00
locale.c ntdll: Move kernel32 loading into LdrInitializeThunk(). 2021-03-31 21:13:45 +02:00
make_errors ntdll: Add error mapping for MUI statuses. 2021-03-25 21:52:18 +01:00
misc.c
nt.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
ntdll.spec ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms. 2021-05-18 17:53:30 +02:00
ntdll_misc.h ntdll: Parse the loadFrom attribute in manifest dll elements. 2021-04-19 15:39:55 +02:00
path.c ntdll: Only check the existence of the directory for the Unix pathname heuristic. 2021-03-02 17:55:34 +01:00
printf.c
printf.h
process.c ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms. 2021-05-18 17:53:30 +02:00
reg.c ntdll: Export RtlQueryRegistryValuesEx(). 2021-03-09 12:00:35 +01:00
relay.c ntdll: Make inline asm compatible with Thumb-2. 2021-01-19 13:24:14 +01:00
resource.c ntdll: Fetch locale information from the Unix side in resource loading. 2021-03-03 21:54:44 +01:00
rtl.c ntdll: Stub RtlQueryProcessPlaceholderCompatibilityMode(). 2021-05-03 20:42:29 +02:00
rtlbitmap.c
rtlstr.c ntdll: Use wide-char string literals. 2020-12-04 09:37:42 +01:00
sec.c ntdll: Add RtlDefaultNpAcl stub. 2020-12-08 22:25:59 +01:00
signal_arm.c ntdll: Print an ERR for assertion exceptions only. 2021-03-03 21:54:44 +01:00
signal_arm64.c ntdll: Print an ERR for assertion exceptions only. 2021-03-03 21:54:44 +01:00
signal_i386.c ntdll: Clear the first ~1MB of stack in signal_start_thread. 2021-04-21 09:42:45 +02:00
signal_x86_64.c ntdll: Export RtlWow64Get/SetThreadContext() on all 64-bit platforms. 2021-05-18 17:53:30 +02:00
string.c ntdll: Fix memchr implementation. 2020-12-04 17:51:07 +01:00
sync.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
thread.c ntdll: RtlCreateUserThread() also takes a zero_bits parameter. 2021-05-07 22:22:49 +02:00
threadpool.c ntdll: RtlCreateUserThread() also takes a zero_bits parameter. 2021-05-07 22:22:49 +02:00
time.c include: Add more SYSTEM_INFORMATION_CLASS definitions. 2021-03-30 17:10:03 +02:00
unixlib.h ntdll: Remove load_builtin_dll() and get_load_order() from the Unix interface. 2021-03-30 11:51:28 +02:00
version.c ntdll: Retrieve Wine version strings through NtQuerySystemInformation(). 2021-04-05 15:07:01 +02:00
version.rc
virtual.c ntdll: Don't use wine/server.h from the PE side. 2021-02-16 23:01:37 +01:00
wcstring.c include: Disallow wcsncpy() in Wine, similarly to strncpy(). 2021-05-04 21:33:15 +02:00