summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/wolf/service/service.h3
-rw-r--r--src/service/service.c5
-rw-r--r--tests/service/testservice.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/include/wolf/service/service.h b/include/wolf/service/service.h
index 1baa1b2..3f09eb7 100644
--- a/include/wolf/service/service.h
+++ b/include/wolf/service/service.h
@@ -93,7 +93,8 @@ wolf_service_event_t wolf_service_events_suspend( int timeout, wolf_error_t *err
*/
void WINAPI wolf_service_main( DWORD argc, LPTSTR *argv );
-wolf_error_t wolf_service_start( LPTSTR service_name );
+wolf_error_t wolf_service_start( LPTSTR service_name,
+ LPSERVICE_MAIN_FUNCTION service_main );
#ifdef __cplusplus
}
diff --git a/src/service/service.c b/src/service/service.c
index bbef383..5a44114 100644
--- a/src/service/service.c
+++ b/src/service/service.c
@@ -341,11 +341,12 @@ SERVICE_END:
return;
}
-wolf_error_t wolf_service_start( LPTSTR service_name ) {
+wolf_error_t wolf_service_start( LPTSTR service_name,
+ LPSERVICE_MAIN_FUNCTION service_main ) {
BOOL res;
char errbuf[512];
SERVICE_TABLE_ENTRY dispatch_table[2] =
- { { service_name, wolf_service_main },
+ { { service_name, service_main },
{ NULL, NULL } };
res = StartServiceCtrlDispatcher( dispatch_table );
diff --git a/tests/service/testservice.c b/tests/service/testservice.c
index 98d688d..cf61ac9 100644
--- a/tests/service/testservice.c
+++ b/tests/service/testservice.c
@@ -21,8 +21,6 @@
#define SERVICE_NAME_DESCR "Wolf Test Service"
void __cdecl _tmain( int argc, TCHAR *argv[] ) {
- char errbuf[512];
-
wolf_log_openlogtostderr( WOLF_LOG_DEBUG );
wolf_log_openlogtofile( "testservice.log", WOLF_LOG_DEBUG );
wolf_log_openlogtoeventlog( NULL, "Application", "testservice",