Commit Graph

86 Commits

Author SHA1 Message Date
Sebastian Lackner 2035a8c7c8 services: Check for services without lpBinaryPathName in get_winedevice_process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-29 22:40:52 +09:00
Sebastian Lackner b79891a2ed services: Load kernel drivers with same load order group into a single process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:30 +09:00
Sebastian Lackner f628cbbaa1 services: Add a separate winedevice service for each kernel driver.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 21:21:29 +09:00
Sebastian Lackner b783f207fe services: Do not create environment block before first service startup.
This basically reverts ce07a77610.

Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-09-01 20:47:51 +09:00
Sebastian Lackner 1c5affa205 advapi32: Unify service startup and control handling.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-31 22:22:59 +09:00
Sebastian Lackner 039471ec37 services: Allocate a separate status_changed_event for each service.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 15:31:43 +09:00
Sebastian Lackner 51f36c220e services: Return an error instead of BOOL from process_send_start_message.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-19 15:31:41 +09:00
Sebastian Lackner 9dfa1022e9 services: Use threadpool API instead of custom wait implementation.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:14 +09:00
Sebastian Lackner 6fc42341ec services: Sort autostart services by dwTagId config value.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:14 +09:00
Sebastian Lackner 4c01feb714 services: Hold startup lock before calling service_start.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:14 +09:00
Sebastian Lackner 36ccc45db6 services: Track number of services per process.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 20:38:13 +09:00
Sebastian Lackner 46a974856f services: Add a grab_service function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-18 00:09:36 +09:00
Sebastian Lackner 049ac1d827 services: Hold an additional process reference while waiting for startup.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:45:10 +09:00
Sebastian Lackner cafcf6448f services: Remove service_terminate function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:45:04 +09:00
Sebastian Lackner 46b2746938 services: Store process id in the process object.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:43:25 +09:00
Sebastian Lackner c8187d62f8 services: Fix leak of process object in process_terminate.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-11 14:42:41 +09:00
Sebastian Lackner 5f2b96b859 services: Preparation to allow arbitrary data in service RPC messages.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-08-10 16:16:04 +09:00
Sebastian Lackner 37097ce95c services: Track services and processes separately.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-21 16:25:58 +09:00
Sebastian Lackner 72ae095d75 services: Change scmdatabase_remove_service to a void function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-20 21:51:42 +09:00
Sebastian Lackner 168af6e750 services: Hold a reference to process in svcctl_ControlService.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:11 +09:00
Sebastian Lackner 4f3f502886 services: Improve implementation of service_get_pipe_name.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-19 21:06:11 +09:00
Sebastian Lackner ce07a77610 services: Initialize environment block immediately after startup.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-15 17:57:10 +09:00
Sebastian Lackner ed54b88173 services: Pass a process argument to wait_for_startup function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:42 +09:00
Sebastian Lackner 7e2176459d services: Pass a process argument to send_start_message function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:42 +09:00
Sebastian Lackner 6617ff24f2 services: Introduce refcounting for processes.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:42 +09:00
Sebastian Lackner 7fc3107b4c services: Initialize service ref_count directly in service_create.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Sebastian Lackner 38a09f9c7b services: Hold scmdatabase lock while checking marked_for_delete.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Sebastian Lackner 4a3d712608 services: Fix a typo.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-16 21:59:41 +09:00
Sebastian Lackner 7fc3f72de7 services: Move process related fields into a separate struct.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:59 +09:00
Sebastian Lackner 00b1184f10 services: Store a separate variable instead of clearing control_mutex.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-03 15:26:57 +09:00
Sebastian Lackner 4931f5fbe9 services: Get rid of unnecessary locks.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:29:00 +09:00
Sebastian Lackner 34fd639801 services: Do not distinguish between shared/exclusive lock.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:58 +09:00
Sebastian Lackner 0819c739ec services: Remove pipe argument from service_send_command function.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:55 +09:00
Sebastian Lackner 20633b292b services: Consistently use InterlockedIncrement to increment refcount.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-02 23:28:53 +09:00
Sebastian Lackner 94fb7c3b8b services: Start SERVICE_FILE_SYSTEM_DRIVER services with winedevice.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-16 14:46:26 +09:00
Nikolay Sivov 38bba54f32 services: Locate service image in proper system dir for WOW64 case. 2015-03-02 23:00:32 +09:00
Nikolay Sivov 1896064332 services: Mark WOW64 services in registry. 2015-02-27 14:20:25 +09:00
Andreas Mohr 6a86e2e983 kernel32: Fix naming/spelling/typo of macro to HasOverlappedIoCompleted(). 2014-08-04 19:28:04 +02:00
Nikolay Sivov 6a4c146962 services: Defer service delete until all handles are closed. 2014-06-12 18:24:17 +02:00
Nikolay Sivov fdbd8ffffc services: Remove loop that's not really used anymore (Coverity). 2014-04-21 10:40:40 +02:00
Nikolay Sivov 5300364dfd services: Remove redundant error code check (Coverity). 2014-04-07 15:34:36 +02:00
Frédéric Delanoy debd1346b0 services: Use BOOL type where appropriate. 2013-10-09 10:09:00 +02:00
Piotr Caban 522bc15b45 services: Kill service thread after timeout so it can terminate cleanly. 2012-10-22 16:19:53 +02:00
Jacek Caban 52363aef65 advapi32: Pass service name as argv[0] to ServiceMain. 2012-06-15 18:35:42 +02:00
Alexandre Julliard 154aef98d8 services: Don't close the overlapped event when terminating a service.
An overlapping I/O operation may still be in progress.
2012-02-08 13:19:04 -06:00
Piotr Caban 01ef66cb1e services: Move service cleanup code to separate function. 2011-12-12 15:50:40 +01:00
Piotr Caban bc866c899f services: Don't close control_pipe when SERVICE_CONTROL_STOP is sent.
This prevents service_control_dispatcher from being stopped. Thanks to
it the service may continue to work and do the clean up.
2011-12-12 15:50:40 +01:00
Piotr Caban b9797b5caa services: Check process status to determine if service has terminated. 2011-12-12 15:50:39 +01:00
Piotr Caban 8e915c51e1 services: Accept SERVICE_START_PENDING as valid service start status. 2011-12-09 21:15:29 +01:00
Piotr Caban 60a273569c services: Wait for all services to terminate before exiting. 2011-11-30 16:32:17 +01:00