[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] Merge patch from Matt Edman for bug 162 (service never stops)
Update of /home/or/cvsroot/tor/src/or
In directory moria:/tmp/cvs-serv28952
Modified Files:
main.c
Log Message:
Merge patch from Matt Edman for bug 162 (service never stops)
Index: main.c
===================================================================
RCS file: /home/or/cvsroot/tor/src/or/main.c,v
retrieving revision 1.526
retrieving revision 1.527
diff -u -d -r1.526 -r1.527
--- main.c 13 Jul 2005 21:12:33 -0000 1.526
+++ main.c 15 Jul 2005 19:09:36 -0000 1.527
@@ -1472,6 +1472,8 @@
service_status.dwCurrentState = SERVICE_STOPPED;
SetServiceStatus(hStatus, &service_status);
return 1;
+ } else if (service_status.dwCurrentState == SERVICE_STOPPED) {
+ return 1;
}
return 0;
}
@@ -1480,11 +1482,16 @@
void
nt_service_control(DWORD request)
{
+ static struct timeval exit_now;
+ exit_now.tv_sec = 0;
+ exit_now.tv_usec = 0;
+
switch (request) {
case SERVICE_CONTROL_STOP:
case SERVICE_CONTROL_SHUTDOWN:
log(LOG_ERR, "Got stop/shutdown request; shutting down cleanly.");
service_status.dwCurrentState = SERVICE_STOP_PENDING;
+ event_loopexit(&exit_now);
return;
}
SetServiceStatus(hStatus, &service_status);