Commit Graph

69 Commits

Author SHA1 Message Date
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
Piotr Caban b8704a4929 services: Added support for SERVICE_CONFIG_PRESHUTDOWN_INFO. 2011-11-30 16:31:47 +01:00
Piotr Caban 8141fb80eb services: Create service environment when first service is started. 2011-11-15 19:37:33 +01:00
Francois Gouget 97ab9cc7e5 services: Give a name to the scmdatabase critical section. 2011-10-27 14:20:51 +02:00
Francois Gouget d494733353 services: Issue a fixme when a service fails to start. 2011-09-08 20:08:06 +02:00
Francois Gouget 9183a171f1 services: Cleanup when a service fails to start so it is still fully considered to be stopped. 2011-08-30 11:47:32 +02:00
Alexandre Julliard f51668fdf9 services: Add a timeout to all pipe communications with the service process. 2011-05-20 12:34:39 +02:00
Alexandre Julliard c9dc9a1063 services: Load some timeout parameters from the registry. 2011-05-20 12:33:58 +02:00
Alexandre Julliard 0c1c1fc20d services: Add a helper function to send a command to the service. 2011-05-20 12:32:32 +02:00
Eric Pouech 0b9ddd1ce4 services: Be sure to unlock the current database in all error cases in service_start_process. 2011-04-25 11:38:44 +02:00
André Hentschel 7abdbe62d1 services: Mention the unkown type in the error message. 2010-11-02 11:16:32 +01:00
Hans Leidekker eae2cf56cb services: Save service dependencies. 2010-10-22 12:06:15 +02:00
Alexandre Julliard 3f6f036b4d services: Start the 32-bit winedevice.exe for 32-bit kernel drivers. 2010-06-01 13:38:21 +02:00
Mikhail Maroukhine 93d9d8a3af programs: Fix compiler warnings with flag -Wcast-qual. 2010-03-29 12:18:48 +02:00
Paul Chitescu 910b191574 services.exe: Reduce Registry access to KEY_READ or MAXIMUM_ALLOWED wherever possible. 2009-12-07 14:51:05 +01:00
Eric Pouech 7cdf3389dd services: Correctly store the service's PID upon startup. 2009-08-29 17:11:19 +02:00
Paul Chitescu 8fd619618f services.exe: When asked to search by display name skip NULL names. 2009-07-01 14:53:13 +02:00
Marcus Meissner 2c7ac13662 services: Handle realloc failures better (Coverity). 2009-02-02 15:21:43 +01:00