/*
- * $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
#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)
{
int errcount = 0;
mode_t oldmask;
+#ifdef _SQUID_WIN32_
+
+ int WIN32_init_err;
+#endif
#if HAVE_SBRK
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
#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
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())
#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) {
/* 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)) {
setEffectiveUser();
debug(0, 0) ("Creating Swap Directories\n");
Store::Root().create();
-#if USE_WIN32_SERVICE
-
- return;
-#else
return 0;
-#endif
-
}
if (!opt_no_daemon)
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");
/* main loop */
- for (;;) {
+ for (;;)
+ {
if (do_reconfigure) {
mainReconfigure();
do_reconfigure = 0;
}
/* NOTREACHED */
-#if USE_WIN32_SERVICE
- return;
-
-#else
-
return 0;
-
-#endif
-
}
static void
/*
- * $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/
/* 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_
/*
- * $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 * * * * * * *
*
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 */
_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;
#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;
int main(int argc, char **argv)
{
SERVICE_TABLE_ENTRY DispatchTable[] = {
- {NULL, SquidMain},
+ {NULL, SquidWinSvcMain},
{NULL, NULL}
};
char *c;
}
} else {
WIN32_run_mode = _WIN_SQUID_RUN_MODE_INTERACTIVE;
- SquidMain(argc, argv);
+ return SquidMain(argc, argv);
}
return 0;