pcs 98/01/04 07:26:20
Modified: src/os/win32 service.c service.h Log: When a shutdown is requested, call start_shutdown() to set it up, rather than setting the global service_stop variable. start_shutdown() will set the appropriate variables and wakeup the parent process main thread Revision Changes Path 1.6 +3 -7 apachen/src/os/win32/service.c Index: service.c =================================================================== RCS file: /export/home/cvs/apachen/src/os/win32/service.c,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- service.c 1998/01/04 14:33:07 1.5 +++ service.c 1998/01/04 15:26:19 1.6 @@ -16,8 +16,6 @@ { int (*main_fn)(int, char **); event *stop_event; - int *stop_flag; - int *pause_flag; int connected; SERVICE_STATUS_HANDLE hServiceStatus; char *name; @@ -34,7 +32,7 @@ int service_main(int (*main_fn)(int, char **), int argc, char **argv, - int *pause, int *stop, char *service_name, + char *service_name, int install_flag, int run_as_service) { SERVICE_TABLE_ENTRY dispatchTable[] = @@ -58,9 +56,7 @@ else { globdat.main_fn = main_fn; - globdat.stop_event = create_event(0, 0, NULL); - globdat.stop_flag = stop; - globdat.pause_flag = pause; + globdat.stop_event = create_event(0, 0, "apache-signal"); if(run_as_service) { @@ -149,7 +145,7 @@ // case SERVICE_CONTROL_STOP: state = SERVICE_STOP_PENDING; - *(globdat.stop_flag) = 1; + start_shutdown(); break; // Update the service status. 1.2 +1 -1 apachen/src/os/win32/service.h Index: service.h =================================================================== RCS file: /export/home/cvs/apachen/src/os/win32/service.h,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- service.h 1997/06/15 19:22:53 1.1 +++ service.h 1998/01/04 15:26:20 1.2 @@ -4,7 +4,7 @@ #ifdef WIN32 int service_main(int (*main_fn)(int, char **), int argc, char **argv, - int *pause, int *stop, char *service_name, + char *service_name, int install_flag, int run_as_service); void service_set_status(int status); void service_cd();