Commit Graph

6327 Commits

Author SHA1 Message Date
Alexandre Julliard 4a757e2d20 ntdll: Recognize more script names in Unix locales.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-04-01 20:30:57 +02:00
Jinoh Kang 731a968003 server: Replace redundant send_socket status fields with force_async boolean field.
The 'status' field of send_socket_request is always either
STATUS_PENDING or STATUS_DEVICE_NOT_READY, and the 'total' field is
always zero.

Replace the 'status' field with 'force_async' boolean field, and get rid
of the 'total' field entirely.

Also, clean up the send_socket handler code a bit.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00
Jinoh Kang 74059d12b8 ntdll: Don't call try_send before server call in sock_send.
Otherwise, try_send() call from sock_send() may race against try_send()
call from async_send_proc(), shuffling the packet order.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=52401
Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00
Jinoh Kang 65d12984f2 server: Attempt to complete I/O request immediately in send_socket.
Make send_socket alert the async immediately if poll() call detects that
there are incoming data in the socket, bypassing the wineserver's main
polling loop.

For sock_transmit, we always mark the async as pending and set the IOSB
(unless async allocation has failed).

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 18:30:28 +01:00
Rémi Bernon bb17583239 kernelbase: Fix GlobalMemoryStatusEx counters.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-25 17:56:36 +01:00
Eric Pouech 55b45d00ef ntdll/tests: Finalize migration to long types.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Eric Pouech 6df7b22406 ntdll/tests: Enable compilation with long types in wow64.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Eric Pouech c4507729ca ntdll/tests: Enable compilation with long types in virtual.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Eric Pouech 19bc52602f ntdll/tests: Enable compilation with long types in time.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Eric Pouech d86fda0c70 ntdll/tests: Enable compilation with long types in threadpool.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Eric Pouech bd9b459d70 ntdll/tests: Enable compilation with long types in thread.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-24 15:52:49 +01:00
Francois Gouget a83eea9b44 ntdll: Return the UI language id in uppercase.
This fixes a failure in kernel32:locale.

Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:14 +01:00
Alexandre Julliard 63d7591b3c ntdll/tests: Fix string test for UTF-8 default codepage.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Alexandre Julliard b5561c8bba ntdll: Support UTF-8 codepage in RtlInitCodePageTable().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Alexandre Julliard 8ccb24b151 ntdll: Move user/system locale initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech d66d642d74 ntdll/tests: Enable compilation with long types in rtl.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech baf08a0d04 ntdll/tests: Enable compilation with long types in rtlstr.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech efd4e09729 ntdll/tests: Enable compilation with long types in sync.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech b4b75634d6 ntdll/tests: Enable compilation with long types in rtlbitmap.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Eric Pouech 4eded62d2a ntdll/tests: Enable compilation with long types in string.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-23 18:42:13 +01:00
Jinoh Kang be9a875fc1 server: Add mark_pending field to set_async_direct_result request.
The client can set mark_pending to indicate that the full-blown I/O
completion mechanism shall be triggered (asynchronous completion) even
if the status indicates failure.

Signed-off-by: Jinoh Kang <jinoh.kang.kr@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 18:38:18 +01:00
Alexandre Julliard c3023a123e ntdll: Use RtlLcidToLocaleName() in the preferred UI language stub.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 17:39:01 +01:00
Alexandre Julliard a2d44e89ea ntdll: Implement RtlLcidToLocaleName().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 17:39:01 +01:00
Alexandre Julliard ea9a776d7d ntdll: Implement RtlIsValidLocaleName().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 17:39:01 +01:00
Alexandre Julliard b631c14702 ntdll: Reimplement RtlLocaleNameToLcid() using the locale.nls data.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 17:39:01 +01:00
Alexandre Julliard 4b0f1163fa ntdll: Load the locale.nls file at startup.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 17:38:58 +01:00
Eric Pouech 010315571e ntdll/tests: Enable compilation with long types in path.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:24:10 +01:00
Eric Pouech f06f4db447 ntdll/tests: Enable compilation with long types in reg.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:24:04 +01:00
Eric Pouech 6ab71c6ac2 ntdll/tests: Enable compilation with long types in info.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:23:57 +01:00
Eric Pouech df94b7b435 ntdll/tests: Enable compilation with long types in port.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:23:51 +01:00
Eric Pouech 3a0448f82b ntdll/tests: Enable compilation with long types in pipe.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-22 10:23:43 +01:00
Alexandre Julliard c13d88ba97 ntdll: Implement RtlGetLocaleFileMappingAddress().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 14:28:10 +01:00
Alexandre Julliard 5ed078dc14 ntdll: Implement NtInitializeNlsFiles().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 14:28:10 +01:00
Alexandre Julliard cd4fcf9a11 ntdll: Add a helper function to map a section.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 14:28:10 +01:00
Eric Pouech 9a130ccdb6 ntdll/tests: Enable compilation with long types in file.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:42:48 +01:00
Eric Pouech c1f1bf79f0 ntdll/tests: Enable compilation with long types in om.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:42:36 +01:00
Eric Pouech f7ea994194 ntdll/tests: Enable compilation with long types in large_int.c
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-21 11:38:16 +01:00
Eric Pouech a0324df70c ntdll/tests: Enable compilation with long types in env.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:33 +01:00
Eric Pouech e6d9dabae4 ntdll/tests: Enable compilation with long types in exception.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:28 +01:00
Eric Pouech 7516cb0510 ntdll/tests: Enable compilation with long types in change.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:23 +01:00
Eric Pouech 44d604f57e ntdll/tests: Enable compilation with long types in error.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:19 +01:00
Eric Pouech 570cff9dd2 ntdll/tests: Enable compilation with long types in directory.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:13 +01:00
Eric Pouech 444371356d ntdll/tests: Enable compilation with long types in atom.c.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-18 17:36:08 +01:00
Eric Pouech f74474072a ntdll/tests: Use correct integral type.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-14 18:30:28 +01:00
Eric Pouech bd3c533f29 include: Fix prototype of NtQueryInformationFile.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-10 09:31:50 +01:00
Martin Storsjö 482b6a6dea ntdll: Zero-initialize the syscall_frame used for starting threads on ARM/ARM64.
This fixes an inconsistency since
fed7e7a78b (ntdll: Simulate a syscall
return when starting a thread); in that commit, on i386 and
x86_64, the syscall_frame used for starting the thread was
zeroed with a memset, while it wasn't on arm and arm64.

This had a noticable effect on float maths, where the
uninitialized frame->restore_flags field could have the
CONTEXT_FLOATING_POINT bit set. (call_init_thunk only ORs in
CONTEXT_INTEGER into the restore_flags field, on all architectures).
If that bit was set, it would restore uninitialized data into the
fpscr register, possibly setting the FPU in a nondefault rounding
mode.

Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 19:14:59 +01:00
Brendan Shanks a906f13f77 ntdll: Ensure CONTEXT_EX on exception stack is initialized.
On non-AVX CPUs, CONTEXT_EX is not being initialized.
In WOW64 mode, this results in invalid exception records when
dispatch_wow_exception() uses RtlCopyContext().

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-04 10:50:33 +01:00
Brendan Shanks 1b9d48a7b0 ntdll: Don't require equal Length and MaximumLength when setting ThreadNameInformation.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-03 21:32:49 +01:00
Eric Pouech 1297ccb370 ntdll/tests: Fix erroneous ok parameters.
Signed-off-by: Eric Pouech <eric.pouech@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-02 20:17:25 +01:00
Alexandre Julliard bf3ef684e2 ntdll/tests: Avoid referencing a global variable from inline asm.
It breaks on old gccs.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-01 22:41:15 +01:00