You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by pc...@hyperreal.org on 1998/01/04 16:26:21 UTC
cvs commit: apachen/src/os/win32 service.c service.h
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();