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
Marcus Meissner
3bf54c2950
server: Enumerate process in reverse.
2008-01-14 16:24:55 +01:00
Alexandre Julliard
2f1e73cb35
server: Wait for the expiration of all the process SIGKILL timers before exiting the server.
2008-01-07 17:19:05 +01:00
Alexandre Julliard
af268c6211
server: Redesign the server shutdown processing.
...
System processes are now killed only after the server persistence
delay has expired. New processes are not allowed to start during
shutdown.
2008-01-03 11:40:03 +01:00
Alexandre Julliard
11750af329
server: Don't give out full access to the system process event.
2007-12-20 16:43:31 +01:00
Alexandre Julliard
ffbeae78f7
server: Don't count system processes as users of a desktop.
2007-12-20 16:43:14 +01:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Rob Shearman
bf2a35b78d
server: Change the get_dll_info server request to allow retrieving the image file name of a process.
...
Implement NtQueryInformationProcess(ProcessImageFileName).
2007-11-20 14:29:09 +01:00
Rob Shearman
dd9e392796
server: Use the security descriptor passed in when creating events.
2007-10-25 12:47:22 +02:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Alexandre Julliard
156b205eb5
server: Add support for system processes, that can be signaled to exit when all non-system processes are done.
2007-06-06 20:33:13 +02:00
Rob Shearman
ec86243521
server: When starting a new process, use the token from the calling process, if one exists.
2007-05-30 11:48:25 +02:00
Alexandre Julliard
627ca4079e
server: Stop exporting the console_input structure. Get rid of console.h.
2007-05-11 12:46:32 +02:00
Alexandre Julliard
aaf477f292
server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
2007-04-17 20:08:59 +02:00
Alexandre Julliard
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
3f0575943e
server: Don't bother with default entry points for objects that don't even return an fd.
2007-04-12 20:21:53 +02:00
Alexandre Julliard
7a9363a4d4
server: Rename the get_file_info function to get_fd_type and get rid of the flags.
2007-04-10 22:26:23 +02:00
Alexandre Julliard
f85437c57f
server: Store the opening options in the file descriptor instead of in the individual objects.
...
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +02:00
Alexandre Julliard
72bff2e445
server: Add support for restarting an async I/O when the client side couldn't finish it right away.
2007-04-10 17:07:27 +02:00
Alexandre Julliard
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Alexandre Julliard
5bd513640b
ntdll: Moved the check for removable file in load_dll to the server.
2007-01-12 14:42:43 +01:00
Alexandre Julliard
cd1c7fc056
server: Add hooks to support process tracing mechanisms other than ptrace.
2006-12-29 16:56:11 +01:00
Alexandre Julliard
d6f8284c2f
server: Fix list corruption caused by previous change.
2006-11-13 12:53:09 +01:00
Alexandre Julliard
110a6fe5b6
server: Properly handle kill_thread recursion when killing a process.
...
Spotted by Mike McCormack.
2006-11-10 12:18:54 +01:00
Michael Stefaniuc
5cecceccb2
server: Remove redundant NULL check before free() (found by Smatch).
2006-10-10 12:56:16 +02:00
Alexandre Julliard
81977b773b
server: Kill the process without SIGTERM when the fd socket is closed.
2006-09-21 11:14:45 +02:00
Alexandre Julliard
498b781e23
server: Store the actual process count in snapshots.
...
We can't rely on running_processes for that, since it now also counts
processes waiting for SIGKILL and those aren't included in snapshots.
2006-08-15 20:31:54 +02:00
Alexandre Julliard
68e850e602
server: Send a SIGKILL to processes that don't terminate properly.
2006-08-14 20:19:42 +02:00
Alexandre Julliard
753c8706f5
server: Only call gettimeofday once per poll loop.
2006-08-10 16:42:09 +02:00
Alexandre Julliard
3095a48d6f
server: Convert thread creation/exit times to the abs_time_t type.
2006-07-26 14:49:55 +02:00
Alexandre Julliard
ce40ef18df
server: Rename the wait_input_idle request to better reflect what it does.
...
Also get rid of the unused timeout field.
2006-07-26 11:48:25 +02:00
Alexandre Julliard
0f273c17ff
server: Added data_size_t type to represent sizes in the server protocol.
...
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Thomas Kho
4ff4ba394e
server: Add new threads to end of thread_list.
2006-07-25 11:41:15 +02:00
Stefan Siebert
026dd2d88a
ntdll: Implementation of process CreationTime and ExitTime.
2006-07-21 13:27:16 +02:00
Alexandre Julliard
c316f0e47f
server: Simplify process creation.
...
Pass the socket for the new process from the parent through the
environment.
Perform initialisations during the new_process request.
2006-07-19 14:00:10 +02:00
Alexandre Julliard
5558652ea3
server: Don't report a fatal protocol error for things that we can recover from.
2006-06-08 10:26:02 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
17de829096
server: Use the standard suspend mechanism to simulate a breakpoint
...
in an active process, instead of sending a SIGTRAP.
2006-04-19 19:45:39 +02:00
Alexandre Julliard
cb70931f67
server: Moved read/write_process_memory and get_selector_entry to ptrace.c.
2006-04-07 19:52:12 +02:00
Alexandre Julliard
0b492c708f
server: Hide assumptions about alignment inside the read_process_memory function.
2006-04-07 19:43:44 +02:00
Alexandre Julliard
959bbf8b75
server: Get rid of alignment requirements in write_process_memory request.
...
All the alignment handling is now done in the write_process_memory
function inside the server.
2006-04-07 18:41:58 +02:00
Alexandre Julliard
90af5a0d17
server: Connect to the window station and desktop specified by startup info.
...
If window station and desktop aren't inherited from the parent, don't
connect to them from the server, but from the USER init code where we
can get the proper values from the startup info structure.
2006-03-27 12:57:17 +02:00
Alexandre Julliard
0a3646292a
server: Fixed process exit code on FreeBSD.
2006-03-27 12:14:24 +02:00
Ken Thomases
1c788eada2
server: Fix memory leak in read_process_memory handler.
2006-03-24 12:54:19 +01:00
Alexandre Julliard
f978f615d8
server: Support for closing the desktop window.
...
If a thread is owning the desktop window, when all other users of the
desktop have exited, signal the owner to close the desktop (with a 1
second delay).
2006-03-06 21:02:24 +01:00
Alexandre Julliard
e27358ea5c
server: Remove no longer needed fields in the init_process_done request.
2006-02-21 20:08:19 +01:00
Alexandre Julliard
492661079c
server: Avoid hang on process startup.
...
Fixed the startup_info signaled state to avoid blocking the parent
process when the child crashes on startup.
2006-02-21 19:30:17 +01:00
Alexandre Julliard
e6374cbea7
server: Store the process exe module in the standard dll list.
2006-02-16 12:13:01 +01:00
Alexandre Julliard
e0330145d8
server: Remove the no longer needed exe_file parameter in the
...
init_process_done request.
2006-02-08 15:25:12 +01:00
Alexandre Julliard
2b0033d5ad
server: Allow the main exe to be registered as a normal dll before
...
init_process_done is called.
2006-02-08 15:07:16 +01:00
Alexandre Julliard
2a36dd239c
server: Remove no longer used create_flags from get_startup_info request.
2006-02-05 12:33:24 +01:00
Alexandre Julliard
a510a7e117
server: Added access rights mapping to file objects.
2005-12-12 16:46:17 +01:00
Alexandre Julliard
46d1b3e8da
server: Added access rights mapping to process and thread objects.
2005-12-12 15:03:07 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +01:00
Alexandre Julliard
24560e70bb
server: Make alloc_handle use attributes instead of inherit flag.
2005-12-09 13:58:25 +01:00
Alexandre Julliard
f2d7dd645e
server: Use attributes instead of inherit flag in process and thread requests.
2005-12-09 12:13:11 +01:00
Vitaliy Margolen
f676bc8d85
Move event and mutex objects into directory name space.
2005-12-02 15:55:48 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +00:00
Alexandre Julliard
ead9b062e3
Added a struct unicode_str to encapsulate object names.
2005-11-18 16:31:18 +00:00
Vitaliy Margolen
3585f2fa77
Pass object attributes to create_named_object & find_object.
2005-10-29 12:38:23 +00:00
Alexandre Julliard
2790923722
Removed incorrect process queue check in wait_input_idle.
2005-10-12 21:10:52 +00:00
Eric Pouech
b09582a890
Implemented kernel32 process affinity handling on top on ntdll.
2005-09-27 10:52:10 +00:00
Eric Pouech
b3badc7dd3
- rewrite kernel32:{Set|Get}PriorityClass on top of ntdll equivalent
...
- priority for process in wineserver is now the NTDLL form (no longer
the kernel32 one)
2005-09-06 10:25:11 +00:00
Alexandre Julliard
9ad5628639
Moved the server start time to the init_thread request and got rid of
...
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard
11ad6a0ac4
Return the startup info size in the init_thread request, and allocate
...
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard
0424f38169
Already initialize the process in the first init_thread request
...
instead of waiting for the init_process request.
2005-07-13 12:12:43 +00:00
Alexandre Julliard
01caa5e645
Moved the fields that depends on startup info from the init_process
...
request to get_startup_info.
2005-07-12 20:27:09 +00:00
Alexandre Julliard
36b85d02f6
Clear the process handle table before releasing it to avoid potential
...
problems with destructors trying to access handles.
2005-06-29 19:29:15 +00:00
Mike McCormack
390bc5f52f
Don't include winbase.h when it's not necessary.
2005-06-21 09:46:15 +00:00
Alexandre Julliard
5f22e7caf6
Remove the process locks in process_killed, not process_destroy.
2005-06-14 19:23:56 +00:00
Mike McCormack
cdcb203691
Call remove_process_locks when a process ends, fix declarations.
2005-06-14 11:40:40 +00:00
Alexandre Julliard
b9b1ea9c9f
Added a close_handle method to the object operations, and use it to
...
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Alexandre Julliard
78a3e63377
The desktop of a new thread should be set from the process initial
...
desktop, not from the parent thread.
Fixed a couple of bugs in the desktop name handling.
2005-06-09 12:07:12 +00:00
Alexandre Julliard
1bf96e09a9
Beginnings of support for window stations and desktops.
2005-06-08 18:44:50 +00:00
Robert Shearman
c516571481
- Use NULL instead of 0 for all non-handle pointers.
...
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Eric Pouech
e6267369b2
- changed ATOM support in wineserver to match NTDLL needs
...
- adapted accordingly kernel32 atom support
2005-05-10 15:15:50 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Robert Shearman
d2ea92d14e
- Clean up well-known privileges.
...
- Implement checking tokens for privileges in the server.
- Implement NtPrivilegeCheck.
2005-04-22 21:17:15 +00:00