Commit graph

53 commits

Author SHA1 Message Date
Francois Gouget
cbeae4ca3d services: Fix compilation on systems that don't support nameless unions. 2012-10-29 10:41:16 +01: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
cea783ddda services: Fixed memory leak. 2012-10-09 16:12:30 +02:00
Francois Gouget
fac36c55e9 Assorted typo, spelling, wording and case fixes. 2012-05-15 16:26:43 +02:00
Piotr Caban
c21ede4474 services: Terminate service when its status is set to SERVICE_STOPPED. 2011-12-12 15:50:41 +01: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
c11e163eb7 services: Fix SERVICE_STATUS initialization in svcctl_ControlService. 2011-12-12 15:50:39 +01:00
Piotr Caban
c368e55196 services: Set result inside service_send_command. 2011-12-09 21:15:30 +01:00
Piotr Caban
b8704a4929 services: Added support for SERVICE_CONFIG_PRESHUTDOWN_INFO. 2011-11-30 16:31:47 +01:00
Francois Gouget
fe3f2e3258 services: If a service is not started, then say so when ControlService() is called on it. 2011-08-30 11:47:37 +02:00
Francois Gouget
eafb44d4e1 services: Refuse to start disabled services. 2011-08-30 11:47:35 +02:00
Alexandre Julliard
717bd66440 widl: Default to the cdecl calling convention in client/server functions. 2011-06-13 11:53:28 +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
0c1c1fc20d services: Add a helper function to send a command to the service. 2011-05-20 12:32:32 +02:00
Francois Gouget
ba3542bca7 services: Make find_service_by_group() static. 2011-03-16 14:14:23 +01:00
Hans Leidekker
7135ac7641 advapi32: Implement EnumServicesStatusExA/W. 2010-10-29 14:33:57 +02:00
Hans Leidekker
ae7d41bfa2 advapi32: Implement EnumServicesStatusA/W. 2010-10-27 13:31:04 +02:00
Hans Leidekker
e01455d41d services: Support setting and changing service dependencies. 2010-10-22 12:06:24 +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
Paul Vriens
76c0babdcf services: Fix a typo. 2009-04-29 13:08:45 +02:00
Rob Shearman
286dc62e34 services: Always initialise the out buffer in svcctl_QueryServiceStatusEx and svcctl_QueryServiceConfig2W. 2009-03-24 13:11:53 +01:00
Rob Shearman
1c89dacf9c services: svcctl_GetServiceDisplayNameW and svcctl_GetServiceKeyNameW should have string attribute on output buffer.
They also should not have two parameters for specifying the size of the buffer.

The buffer size should also not include in the nul-terminating character.
2009-03-24 13:11:41 +01:00
Rob Shearman
8f07e6932b services: Add a ref count to the service entry in svcctl_CreateServiceW.
The ref count will be released by SC_RPC_HANDLE_destroy when the
returned handle is destroyed.

Change svcctl_OpenServiceW to use InterlockedIncrement to increment
the ref count since the service is in the database and therefore could
be shared and SC_RPC_HANDLE_destroy doesn't take the scmdatabase lock
when decrementing the ref count.
2009-03-24 13:10:57 +01:00
Rob Shearman
d3085abc08 Change parameter type from size_t to SIZE_T for MIDL_user_allocate. 2009-02-02 11:55:21 +01:00
Michael Stefaniuc
24c4f1de95 services: Remove superfluous pointer casts. 2009-01-29 14:06:11 +01:00
Alexandre Julliard
746948551a services: Add stub implementation for SERVICE_CONFIG_FAILURE_ACTIONS in ChangeServiceConfig2W. 2009-01-27 11:27:45 +01:00
Alexandre Julliard
05a840dfc9 advapi32: Fix GetServiceDisplayNameW behavior to pass the tests. 2009-01-21 23:35:35 +01:00
Alexandre Julliard
c795150932 advapi32: Fix GetServiceKeyNameW behavior to pass the tests. 2009-01-21 23:32:29 +01:00
Alexandre Julliard
b608a43df7 advapi32: Reimplemented QueryServiceConfig2W in services.exe. 2009-01-19 20:34:02 +01:00
Maarten Lankhorst
768160e944 ntdll: Make all exported wine functions CDECL. 2008-12-17 15:02:25 +01:00
Alexandre Julliard
3249b40f70 advapi32: Reimplemented ChangeServiceConfig2W in services.exe. 2008-11-26 14:35:30 +01:00
Alexandre Julliard
42fb9fe779 services: Properly initialize service status at creation time. 2008-11-25 11:56:33 +01:00
James Hawkins
d725626a2b services: Assign the service manager db to the lock in LockServiceDatabase. 2008-07-18 11:06:25 +02:00
Alexandre Julliard
33914a1bf4 services: Send the service name in the control requests.
Only start a single dispatcher thread for all services.
2008-05-08 18:08:41 +02:00
Alexandre Julliard
d760cba090 services: Fixed the result check for the control mutex wait. 2008-05-05 13:34:05 +02:00
Alexandre Julliard
8ae87c7f0e services: Use the correct invalid handle value for the control pipe. 2008-05-05 13:34:05 +02:00
Alexandre Julliard
af972cb1e4 services.exe: Don't reject config changes if the display name corresponds to the service being changed. 2008-04-24 13:53:21 +02:00
Austin English
6e59cd2c34 Spelling fixes. 2008-04-22 12:20:12 +02:00
Rob Shearman
5a35bd4971 services: Automatically start boot-start, system-start and auto-start services when services.exe is started, instead of in wineboot.exe. 2008-04-11 12:13:45 +02:00
Rob Shearman
559fafebbf services: Split RPC_MainLoop into initialisation and the actual loop. 2008-04-11 12:12:58 +02:00
Francois Gouget
1aa72f7e47 services: Add a trailing '\n' to a couple of Wine traces. 2008-04-07 13:36:17 +02:00
Rob Shearman
8529a3c404 services: Fill in the functions between implemented functions in svcctl.idl so that it our remoting code is wire-compatible with NT.
Add the necessary stubs for these in services.exe.
2008-03-29 11:51:47 +01:00
Rob Shearman
809d714f24 services: Introduce an scmdatabase object to store the root key of the services database.
Make the functions that deal with the service database more object-oriented.

Add a finer-grained locking architecture.
2008-03-29 11:51:43 +01:00
Rob Shearman
b8348b95a6 services: Remove dependency on service name being determined correctly in order for the two ends on the control pipe to meet up.
Instead use the mechanism used by native which uses 
\\.\pipe\net\NtControlPipeN.

Also remove the service startup event set by StartServiceCtrlDispatcher 
as we wait for the service status to change instead.
2008-03-29 11:51:39 +01:00
Rob Shearman
9a6fc01d84 services: Move ControlService and StartServiceW from advapi32.dll to services.exe.
This also changes the architecture such that services.exe is the server 
end of the control pipe and the service is the client end.
2008-03-29 11:51:34 +01:00
Rob Shearman
7afd9a977a services: Move LockServiceDatabase and UnlockServiceDatabase from advapi32.dll to services.exe. 2008-03-29 11:51:01 +01:00
Rob Shearman
b48714b148 services: Move SetServiceStatus and QueryServiceStatusEx to services.exe. 2008-03-29 11:50:57 +01:00
Mikołaj Zalewski
010dcb168b services: Move GetServiceDisplayName to services.exe and implement GetServiceKeyName. 2008-03-29 11:17:33 +01:00
Mikołaj Zalewski
76d4eeebff services: Move ChangeServiceConfigW implementation from advapi32.dll to services.exe. 2008-03-29 11:17:07 +01:00