288 Commits

Author SHA1 Message Date
Rémi Bernon
676ad9b0af server: Use STATUS_KERNEL_APC to indicate system APCs.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:28:15 +01:00
Rémi Bernon
9e581ba8c5 server: Improve APC error handling when alloc_handle fails.
Whenever alloc_handle fails, we ignored the error and dequeued the
next APC. This patch makes the loop break whenever the error status
changes.

Note that the APC is still marked as executed although it failed.

Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-02-05 21:27:45 +01:00
Nikolay Sivov
b0951ba860 ntdll: Add support for querying thread suspend count.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Nikolay Sivov
b934f6626e ntdll: Implement thread description as information class.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 16:32:32 +01:00
Jacek Caban
c1a32a080f server: Report only one debug event per process at the time.
Instead of one per thread.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-07 00:12:26 +02:00
Jacek Caban
b0ae02bea6 server: Remove no longer needed break_process.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:43:49 +02:00
Jacek Caban
7f9faf10c7 ntdll: Implement DbgUiIssueRemoteBreakin.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-07-05 17:42:04 +02:00
Nikolay Sivov
19bf03ed4b ntdll: Add NtSuspendProcess()/NtResumeProcess() implementation.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-19 12:13:36 +02:00
Jacek Caban
4c0e81728f server: Allow creating thread kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 19:50:40 +02:00
Jacek Caban
b2a546c92d server: Introduce kernel_object struct for generic association between server and kernel objects.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-26 13:55:15 +01:00
Jacek Caban
eea7702eb6 server: Support thread object type.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-22 14:27:19 +01:00
Alexandre Julliard
0fd450af5b server: Specify the process in which to create a new thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard
af8f3ae333 server: Move initial thread creation out of the create_process() function.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard
4a328e08ac server: Allow specifying the security descriptor for a new thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 13:06:12 +02:00
Alexandre Julliard
f9bd73c4d6 server: Allow creating image mappings for all supported CPU platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-30 10:57:00 +01:00
Alexandre Julliard
03d31ea81d server: Only update the modified parts of the context on thread suspend.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-01-22 15:18:48 +01:00
Alexandre Julliard
d12717b9a8 server: Add floating point and debug registers to the ARM64 context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:04 +01:00
Alexandre Julliard
4ba0f628f9 server: Add floating point and debug registers to the ARM context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-12-05 20:30:04 +01:00
Alexandre Julliard
6c61ea6a13 ntdll: Suspend a thread with its start context explicitly before attaching dlls.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-30 12:15:51 +01:00
Dmitry Timoshkov
288814a4d8 server: Make it possible to deliver an APC to any thread alive in the process.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-11-13 21:14:47 +01:00
Alexandre Julliard
cb7f04ce6f server: Don't return debug registers unless explicitly requested.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-18 15:50:34 +02:00
Alexandre Julliard
abe0b1c57b server: Initialize debug registers in new threads if necessary.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-27 17:04:04 +02:00
Alexandre Julliard
9a07d210f1 server: Add a platform-specific entry point to initialize registers of a new thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-27 17:04:04 +02:00
Alexandre Julliard
e0760ce933 server: Call the satisfied methods after removing the thread wait.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:23:35 +02:00
Jacek Caban
5c0e2965bc server: Use stored APC in async_set_result.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-11 19:58:12 +02:00
Gerald Pfeifer
4598d32ab4 server: Remove dead check in is_cpu_supported().
Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-01-25 17:17:18 +01:00
Jacek Caban
ad1e0609a0 server: Get rid of no loner used cancel_async from fd_ops.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:59 +01:00
Sebastian Lackner
bae3dcc295 server: Do not hold reference on parent process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-25 18:48:19 +09:00
Alexandre Julliard
f55db7882d server: Add link_name and unlink_name object operations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Sebastian Lackner
41f7f19cb5 server: Wake up APC if we fail to allocate a handle in target process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-05 20:22:38 +09:00
Sebastian Lackner
23cdc7e529 server: Unconditionally close APC handle in get_apc_result call.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 10:59:44 +09:00
Dmitry Timoshkov
3bed65b5a9 server: For querying thread information demand THREAD_QUERY_LIMITED_INFORMATION access. 2015-08-21 14:35:04 +09:00
Dmitry Timoshkov
93e8bea2bd server: Add implicit THREAD_[QUERY|SET]_LIMITED_INFORMATION access. 2015-08-21 14:34:59 +09:00
Sebastian Lackner
905bf79337 server: Store correct entry point for first thread. 2015-07-30 11:37:15 +02:00
Sebastian Lackner
845164004b ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtQueryInformationThread. 2015-07-29 21:44:03 +02:00
Sebastian Lackner
6ab494ceb5 ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtSetInformationThread. 2015-07-29 21:44:03 +02:00
Sebastian Lackner
6156cf3134 server: Use a separate wineserver call to fetch thread times. 2015-07-29 21:44:03 +02:00
Sebastian Lackner
3db6d1acaf server: Avoid sending unexpected wakeup with uninitialized cookie value.
The code for SELECT_SIGNAL_AND_WAIT in select_on() calls signal_object(). This might
wake up the same thread which is currently in the wineserver call. The value for
current->wait->cookie is initialized at the end of the function, and not defined yet
at this point.
2015-07-15 16:29:11 +09:00
André Hentschel
6adcad498c server: Allow 32-bit connections on ARM64. 2015-05-06 08:41:50 +09:00
Alexandre Julliard
8843bc144d server: Allow passing an argument for the user APC async I/O callbacks. 2015-03-03 17:02:03 +09:00
Sebastian Lackner
0e2e9e4efc server: Avoid leaking file descriptor on error in create_thread function. 2014-11-18 14:14:18 +09:00
Sebastian Lackner
749e2aa36f server: Close fd if there is no space in thread inflight fd list. 2014-11-17 17:27:01 +09:00
Sebastian Lackner
35e56fb042 server: Avoid invalid memory access when thread is killed while in wake_up(). (Valgrind). 2014-06-23 10:12:02 +02:00
Marcus Meissner
3068d827da server: Use longer int in bitshift operation (Coverity). 2014-04-17 10:44:14 +02:00
Dmitry Timoshkov
383f7ba002 server: Add THREAD_[SET|QUERY]_LIMITED_INFORMATION to generic access mappings and appropriately change THREAD_ALL_ACCESS. 2014-02-06 17:08:33 +01:00
Dmitry Timoshkov
6e2de14df1 server: Fix generic access mapping for a thread. 2014-02-05 13:49:30 +01:00
Alexandre Julliard
1e78c99388 kernel32: Validate the architecture of newly created processes on the server side. 2013-11-22 12:32:48 +01:00
Alexandre Julliard
93fbb12e65 server: Implement waiting on keyed events. 2013-08-28 11:03:38 +02:00
Alexandre Julliard
d4cd051cef server: Store abandoned state as a flag in the wait structure. 2013-08-27 23:48:37 +02:00
Alexandre Julliard
39644bb309 server: Pass a wait queue entry to the signaled/satisfied object functions. 2013-08-27 23:48:36 +02:00