Rémi Bernon
a1c46c3806
server: Add USD support with timestamp updates.
...
The USD page is created when the first process (wineboot.exe) completes
its creation, using its provided user_shared_data for initialization.
The server maps the page write-only and the clients map it read-only,
then the server updates the timestamps every 16 ms.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=29168
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-05-12 10:57:56 +02:00
Rémi Bernon
daa120309e
server: Make sure pids/tids are multiples of four.
...
Street Fighter V unpacker relies on it when validating other processes
for its anti-debug checks, it uses (PID&0xfffffffc)>>2 as an array index
and then checks back indexes against PIDs, and terminates early if some
PIDs do not match.
Signed-off-by: Rémi Bernon <rbernon@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-04-27 12:01:44 +02:00
Paul Gofman
74a74556dd
server: Support creating processes with specified parent.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47817
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 13:13:36 +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
Erich E. Hoover
5a79077250
server: Add default security descriptor DACL for processes.
...
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=15980
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 21:57:48 +02:00
Erich E. Hoover
e11e8705eb
server: Add default security descriptor ownership for processes.
...
Signed-off-by: Erich E. Hoover <erich.e.hoover@gmail.com>
Signed-off-by: Vijay Kiran Kamuju <infyquest@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-24 21:57:48 +02:00
Derek Lesho
f534fbd3e3
server: Allow creating process kernel objects.
...
Signed-off-by: Derek Lesho <dereklesho52@Gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-20 00:18:14 +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
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
2bb4d24589
server: Support process object type.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-02-22 14:27:16 +01:00
Piotr Caban
9fa65a8751
server: Fix process trace_data initialization race on Mac.
...
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-01-08 10:20:02 -06:00
Alexandre Julliard
bff3255703
server: Pass a process as parent to create_process().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:44:38 +02:00
Alexandre Julliard
a77ef5c443
server: Add a separate request to exec a new process.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-10-22 11:44:25 +02:00
Alexandre Julliard
2cab0ec389
server: Don't return the process exe file to the client.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Alexandre Julliard
d6683d637a
server: Store the process exe file in the process structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-24 22:41:30 +02:00
Alexandre Julliard
ac7ae92af1
server: Allow specifying the security descriptor for a new process.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-09-20 14:50:48 +02:00
Alexandre Julliard
39afcaac4a
server: Create the initial thread as a separate request.
...
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
ab182dbf06
server: No longer store the mapping object in the dll structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:45 +02:00
Alexandre Julliard
a557934c76
server: Keep track of mapped memory views.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-26 17:01:44 +02:00
Alexandre Julliard
0eefa76791
ntdll: Suspend the process before attaching dlls, using the process initial context.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-19 12:43:00 +02:00
Michael Müller
a78d419420
server: Assign a default label to all tokens.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:50:32 +02:00
Sebastian Lackner
4fc5d8873c
server: Do not shutdown server in persistent mode when creation of first process fails.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-19 09:48:08 +02:00
Michael Müller
7c08e787b1
server: Implement setting a security descriptor when duplicating tokens.
...
Signed-off-by: Matteo Bruni <mbruni@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-15 11:12:24 +02:00
Alex Henrie
146cf041d9
ntdll: Always fill PagefileUsage counter with a nonzero value on Linux.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-17 21:57:12 +02:00
Alex Henrie
19a79f4228
ntdll: Implement ProcessVmCounters for Linux for other processes.
...
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-09 16:37:42 -05:00
Jacek Caban
6ffe08459f
server: Cancel process asyncs on process termination.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 15:25:34 +01:00
Jacek Caban
055918c982
server: Store async list in process object and use that to find async in cansel_async request.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:27 +01:00
Roman Pisl
ddfc5275af
process: Make PROCESS_QUERY_LIMITED_INFORMATION sufficient for QueryFullProcessImageName().
...
Signed-off-by: Roman Pisl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-17 16:55:14 -07:00
Sebastian Lackner
7c06f1c218
server: Do not store unix_pid in process_snapshot struct.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-07 23:54:44 +09:00
Alexandre Julliard
80f3fda934
server: Add support for maintaining a client-side directory cache.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-05-02 14:39:16 +09: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
Sebastian Lackner
1025ed38c0
server: Increase size of PID table and do not reuse recently freed ptids.
...
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
3ea7f7d2f4
server: Set the security descriptor at object creation.time.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
ff9d90bbb0
server: Use a standard object for object attribute roots instead of a directory.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
b21a324070
server: Use the link_name operation to create named objects.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 00:20:01 +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
Alexandre Julliard
37503be654
server: Fix checks for a valid directory in object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 14:57:37 +09:00
Alexandre Julliard
008f14f03f
server: Directly return a structure in get_req_unicode_str().
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +09:00
Alexandre Julliard
ed268bbf91
server: Use a common helper function to implement open object calls.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +09:00
Alexandre Julliard
b3064d748b
server: Implement NtOpenJobObject.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 16:38:53 +09:00
Alexandre Julliard
9504e2addf
server: Add a helper function to validate and return object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard
7350682aa6
server: Store the attributes in the object_attributes structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Sebastian Lackner
1980834c7d
ntdll: ProcessDebugFlags should return debug_children flag instead of !debugger_present.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-12-21 18:14:43 +01:00
Sebastian Lackner
c948e84189
server: Properly inherit debug_children flag when creating new process.
2015-08-24 18:41:34 +09:00
Dmitry Timoshkov
1d2241eca3
server: For querying process information demand PROCESS_QUERY_LIMITED_INFORMATION access.
2015-08-21 14:35:01 +09:00
Dmitry Timoshkov
c19091272d
server: Add implicit PROCESS_[QUERY|SET]_LIMITED_INFORMATION access.
2015-08-21 14:34:55 +09:00
Sebastian Lackner
905bf79337
server: Store correct entry point for first thread.
2015-07-30 11:37:15 +02:00
Andrew Cook
453458f294
server: Implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE.
2015-07-17 14:28:59 +09:00
Sebastian Lackner
a7247df6ca
server: Implement waiting for job objects.
2015-04-07 23:16:20 +09:00
Andrew Cook
1d359a5827
server: Implement TerminateJobObject.
2015-04-07 23:15:47 +09:00
Andrew Cook
47ffeaee74
server: Implement io completion messages for job objects.
2015-04-03 00:33:29 +09:00
Andrew Cook
0dbe5adc21
server: Implement job inheritance.
2015-04-03 00:33:29 +09:00
Andrew Cook
ecd41d1de7
server: Implement job limit flags.
2015-04-03 00:33:29 +09:00
Andrew Cook
3affd63b34
server: Implement IsProcessInJob.
2015-04-01 22:34:19 +09:00
Andrew Cook
98132f0364
server: Implement AssignProcessToJobObject.
2015-04-01 22:34:18 +09:00
Andrew Cook
0e78b0248d
server: Implement CreateJobObject.
2015-04-01 17:05:44 +09:00
Sebastian Lackner
b985b677e8
server: Fix several fd leaks on error in new_process wineserver call.
2014-11-20 22:33:39 +09:00
Piotr Caban
4fca169301
server: Don't debug children when DEBUG_PROCESS and DEBUG_ONLY_THIS_PROCESS flags are passed to CreateProcess.
2014-04-09 13:15:58 +02:00
Dmitry Timoshkov
a0b08adbe4
server: Add PROCESS_QUERY_LIMITED_INFORMATION to GENERIC_EXECUTE access mapping and appropriately change PROCESS_ALL_ACCESS.
2014-02-06 17:08:32 +01:00
Dmitry Timoshkov
53847fd6a1
server: Fix generic access mapping for a process.
2014-02-06 17:08:31 +01:00
Austin English
d506e59dab
server: Set process start time a bit later.
2013-12-20 11:13:10 +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
39644bb309
server: Pass a wait queue entry to the signaled/satisfied object functions.
2013-08-27 23:48:36 +02:00
Dmitry Timoshkov
df6c2a8418
server: Mark the process as disconnected from desktop/winstation before closing its handles.
2013-06-03 21:11:38 +02:00
Dmitry Timoshkov
bac0387d29
server: Fail to set process affinity mask if the process is terminating.
2013-05-07 11:25:54 +02:00
Dmitry Timoshkov
af3d73b035
server: Add a process flag indicating whether the process is terminating, use it to block thread creation in a being terminated process.
2013-05-07 11:25:49 +02:00
Dmitry Timoshkov
b92c82c942
server: Add support for NtTerminateProcess(0).
2013-04-15 16:45:33 +02:00
Piotr Caban
23191a4355
server: Don't debug children when debugger is attached with DebugActiveProcess function.
2013-04-05 20:39:07 +02:00
Henri Verbeet
c6fcc0255c
user32: Add rawinput keyboard support.
2012-09-12 12:47:13 +02:00
Henri Verbeet
faaf3d388e
user32: Add rawinput mouse support.
2012-09-11 18:06:34 +02:00
Henri Verbeet
5befb959dd
user32: Implement RegisterRawInputDevices().
2012-09-10 11:44:19 +02:00
Hans Leidekker
d1b6cf9379
server: Include the Unix pid in the snapshot_next_process reply.
2012-04-16 17:49:32 +02:00
Bernhard Loos
e7ec00d22c
server: If a debugger is attached to a process, child processes shouldn't get debugged.
2011-10-10 13:41:24 +02:00
Alexandre Julliard
a0c0878805
server: Allow creating a process without any parent or startup info.
2011-06-16 22:45:45 +02:00
Alexandre Julliard
5dc9c73c31
server: Check for the need to suspend a thread again once it leaves an exception or suspend block.
2011-05-06 12:49:57 +02:00
Alexandre Julliard
900352bc6b
server: Store a mapping instead of a file for process dlls.
2011-04-18 14:45:32 +02:00
Alexandre Julliard
4fd8bab99e
server: Inherit the process affinity from the parent process.
2011-04-14 19:57:52 +02:00
Alexandre Julliard
350c0caba0
server: Always free the process handle table even if the process didn't start.
2010-08-24 12:10:51 +02:00
Henri Verbeet
f0a5045254
ntdll: Improve support for the ProcessDebugPort info class in NtQueryInformationProcess().
2010-03-15 15:56:42 +01:00
Alexandre Julliard
349eba9e09
server: Make terminate_process more robust against recursive calls for the same process.
2010-02-02 11:47:06 +01:00
Alexandre Julliard
7d4e28480d
server: Any thread can set the idle event, don't treat the first one differently.
2009-12-16 18:06:32 +01:00
Alexandre Julliard
d1dc48d8dc
server: Don't set the idle event when a queue is destroyed, instead return success in WaitForInputIdle on process exit.
2009-12-16 18:00:34 +01:00
Alexandre Julliard
e4faa12900
server: Make sure that last error doesn't get set during thread cleanup.
2009-12-01 15:10:23 +01:00
Alexandre Julliard
538b24747c
server: Free client-side user handles at process exit.
2009-10-15 17:56:04 +02:00
Juan Lang
24036fe13a
server: Setting a process's affinity sets all of its threads' affinities too.
2009-09-30 14:34:32 +02:00
Alexandre Julliard
da8acbc47d
server: Define an architecture-independent structure for process startup info.
2009-08-21 20:00:12 +02:00
Alexandre Julliard
6056e8a52b
server: Return the process CPU in the get_process_info request.
2009-07-07 11:37:47 +02:00
Alexandre Julliard
fa8643805b
server: Make TEB and PEB client_ptr_t instead of void pointers.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
c6c335d70e
server: Make thread entry points client_ptr_t instead of void pointers.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
2cf868c0be
server: Move ldt_copy to the init_process_done request and make it a client_ptr_t.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
1d2d0d5622
server: Send the version with the initial fd so that it can be checked before sending the first request.
2008-12-31 15:09:59 +01:00
Alexandre Julliard
8e9c156e14
server: Make the address argument for read/write_process_memory a client_ptr_t.
2008-12-30 14:11:58 +01:00
Alexandre Julliard
cb2788efaf
server: Add a module_handle_t type to represent client-side module handles.
2008-12-29 16:41:44 +01:00
Alexandre Julliard
db6e45488d
server: Get rid of the support for module snapshots, it is no longer needed.
2008-12-09 11:49:37 +01:00
Alexandre Julliard
0d3d456bd0
server: Make object handles ints instead of pointers.
2008-12-08 16:04:20 +01:00
Alexandre Julliard
24ec4a6ed7
server: Move the process pipe hangup handling into kill_process.
...
This ensures that it's also done correctly when a read from the pipe
returns EOF.
2008-06-20 20:42:51 +02:00
Alexandre Julliard
3bf12b9aca
server: Don't force the process affinity to 1, leave it up to the client.
2008-01-17 13:40:03 +01:00