]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Cleanup of Windows service code.
authorserassio <>
Sat, 29 Apr 2006 19:53:16 +0000 (19:53 +0000)
committerserassio <>
Sat, 29 Apr 2006 19:53:16 +0000 (19:53 +0000)
src/main.cc
src/protos.h
src/win32.cc

index c7ba2d9e15ea020a3db92fb6b150dcfa826918ba..8bc9f27799c08022ad6ba52e2fb3205459a5981d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: main.cc,v 1.417 2006/04/23 11:10:31 robertc Exp $
+ * $Id: main.cc,v 1.418 2006/04/29 13:53:16 serassio Exp $
  *
  * DEBUG: section 1     Startup and Main Loop
  * AUTHOR: Harvest Derived
@@ -864,7 +864,13 @@ mainInitialize(void)
 #if USE_WIN32_SERVICE
 /* When USE_WIN32_SERVICE is defined, the main function is placed in win32.cc */
 extern "C" void WINAPI
-    SquidMain(int argc, char **argv)
+    SquidWinSvcMain(int argc, char **argv)
+{
+    SquidMain(argc, argv);
+}
+
+int
+SquidMain(int argc, char **argv)
 #else
 int
 main(int argc, char **argv)
@@ -872,6 +878,10 @@ main(int argc, char **argv)
 {
     int errcount = 0;
     mode_t oldmask;
+#ifdef _SQUID_WIN32_
+
+    int WIN32_init_err;
+#endif
 
 #if HAVE_SBRK
 
@@ -885,20 +895,9 @@ main(int argc, char **argv)
         Squid_MaxFD = FD_SETSIZE;
 
 #ifdef _SQUID_WIN32_
-#ifdef USE_WIN32_SERVICE
-
-    if (WIN32_Subsystem_Init(&argc, &argv))
-        return;
-
-#else
-
-    {
-        int WIN32_init_err;
 
-        if ((WIN32_init_err = WIN32_Subsystem_Init()))
-            return WIN32_init_err;
-    }
-#endif
+    if ((WIN32_init_err = WIN32_Subsystem_Init(&argc, &argv)))
+        return WIN32_init_err;
 
 #endif
 
@@ -962,19 +961,22 @@ main(int argc, char **argv)
 
 #if USE_WIN32_SERVICE
 
-    if (opt_install_service) {
+    if (opt_install_service)
+    {
         WIN32_InstallService();
-        return;
+        return 0;
     }
 
-    if (opt_remove_service) {
+    if (opt_remove_service)
+    {
         WIN32_RemoveService();
-        return;
+        return 0;
     }
 
-    if (opt_command_line) {
+    if (opt_command_line)
+    {
         WIN32_SetServiceCommandLine();
-        return;
+        return 0;
     }
 
 #endif
@@ -1009,16 +1011,8 @@ main(int argc, char **argv)
         parse_err = parseConfigFile(ConfigFile);
 
         if (opt_parse_cfg_only)
-#if USE_WIN32_SERVICE
-
-            return;
-
-#else
 
             return parse_err;
-
-#endif
-
     }
     if (-1 == opt_send_signal)
         if (checkRunningPid())
@@ -1039,7 +1033,8 @@ main(int argc, char **argv)
 #endif
 
     /* send signal to running copy and exit */
-    if (opt_send_signal != -1) {
+    if (opt_send_signal != -1)
+    {
         /* chroot if configured to run inside chroot */
 
         if (Config.chroot_dir) {
@@ -1055,7 +1050,8 @@ main(int argc, char **argv)
         /* NOTREACHED */
     }
 
-    if (opt_create_swap_dirs) {
+    if (opt_create_swap_dirs)
+    {
         /* chroot if configured to run inside chroot */
 
         if (Config.chroot_dir && chroot(Config.chroot_dir)) {
@@ -1065,14 +1061,8 @@ main(int argc, char **argv)
         setEffectiveUser();
         debug(0, 0) ("Creating Swap Directories\n");
         Store::Root().create();
-#if USE_WIN32_SERVICE
-
-        return;
-#else
 
         return 0;
-#endif
-
     }
 
     if (!opt_no_daemon)
@@ -1085,7 +1075,8 @@ main(int argc, char **argv)
 
     comm_select_init();
 
-    if (opt_no_daemon) {
+    if (opt_no_daemon)
+    {
         /* we have to init fdstat here. */
         fd_open(0, FD_LOG, "stdin");
         fd_open(1, FD_LOG, "stdout");
@@ -1108,7 +1099,8 @@ main(int argc, char **argv)
 
     /* main loop */
 
-    for (;;) {
+    for (;;)
+    {
         if (do_reconfigure) {
             mainReconfigure();
             do_reconfigure = 0;
@@ -1192,15 +1184,7 @@ main(int argc, char **argv)
     }
 
     /* NOTREACHED */
-#if USE_WIN32_SERVICE
-    return;
-
-#else
-
     return 0;
-
-#endif
-
 }
 
 static void
index ab61ef8ee4da211a731b806fd77bbb0132472fac..21f20d88cad92fcc330499dc1d7dc17747dd8bc2 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: protos.h,v 1.523 2006/04/27 19:27:37 wessels Exp $
+ * $Id: protos.h,v 1.524 2006/04/29 13:53:16 serassio Exp $
  *
  *
  * SQUID Web Proxy Cache          http://www.squid-cache.org/
@@ -913,17 +913,14 @@ SQUIDCEXTERN int varyEvaluateMatch(StoreEntry * entry, HttpRequest * req);
 /* CygWin & Windows NT Port */
 /* win32.c */
 #ifdef _SQUID_WIN32_
-#ifdef USE_WIN32_SERVICE
 SQUIDCEXTERN int WIN32_Subsystem_Init(int *, char ***);
-#else
-SQUIDCEXTERN int WIN32_Subsystem_Init(void);
-#endif
 SQUIDCEXTERN void WIN32_sendSignal(int);
 SQUIDCEXTERN void WIN32_Abort(int);
 SQUIDCEXTERN void WIN32_Exit(void);
 SQUIDCEXTERN void WIN32_SetServiceCommandLine(void);
 SQUIDCEXTERN void WIN32_InstallService(void);
 SQUIDCEXTERN void WIN32_RemoveService(void);
+SQUIDCEXTERN int SquidMain(int, char **);
 #endif /* _SQUID_WIN32_ */
 #ifdef _SQUID_MSWIN_
 
index 5e0ef53aaad5406651f3d60bc663febd488386eb..75919e161f893bd5cebbe8db7e9aa9106a36205e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: win32.cc,v 1.18 2005/11/06 16:54:30 serassio Exp $
+ * $Id: win32.cc,v 1.19 2006/04/29 13:53:16 serassio Exp $
  *
  * * * * * * * * Legal stuff * * * * * * *
  *
@@ -63,7 +63,7 @@ static int WIN32_StoreKey(const char *, DWORD, unsigned char *, int);
 static int WIN32_create_key(void);
 static void WIN32_build_argv (char *);
 #endif
-extern "C" void WINAPI SquidMain(DWORD, char **);
+extern "C" void WINAPI SquidWinSvcMain(DWORD, char **);
 
 #if defined(_SQUID_MSWIN_)
 #if defined(_MSC_VER) /* Microsoft C Compiler ONLY */
@@ -419,12 +419,7 @@ WIN32_Exit()
     _exit(0);
 }
 
-#if USE_WIN32_SERVICE
 int WIN32_Subsystem_Init(int * argc, char *** argv)
-#else
-int
-WIN32_Subsystem_Init()
-#endif
 {
 #if defined(_MSC_VER) /* Microsoft C Compiler ONLY */
     _invalid_parameter_handler oldHandler, newHandler;
@@ -449,8 +444,7 @@ WIN32_Subsystem_Init()
 #endif
 #if USE_WIN32_SERVICE
 
-    if (WIN32_run_mode == _WIN_SQUID_RUN_MODE_SERVICE)
-    {
+    if (WIN32_run_mode == _WIN_SQUID_RUN_MODE_SERVICE) {
         char path[512];
         HKEY hndKey;
 
@@ -874,7 +868,7 @@ WIN32_sendSignal(int WIN32_signal)
 int main(int argc, char **argv)
 {
     SERVICE_TABLE_ENTRY DispatchTable[] = {
-                                              {NULL, SquidMain},
+                                              {NULL, SquidWinSvcMain},
                                               {NULL, NULL}
                                           };
     char *c;
@@ -900,7 +894,7 @@ int main(int argc, char **argv)
         }
     } else {
         WIN32_run_mode = _WIN_SQUID_RUN_MODE_INTERACTIVE;
-        SquidMain(argc, argv);
+        return SquidMain(argc, argv);
     }
 
     return 0;