]> git.ipfire.org Git - thirdparty/suricata.git/commitdiff
suricata: move WindowsInitService to SuricataMain
authorJason Ish <jason.ish@oisf.net>
Mon, 26 Feb 2024 21:39:56 +0000 (15:39 -0600)
committerVictor Julien <victor@inliniac.net>
Mon, 25 Mar 2024 16:36:28 +0000 (17:36 +0100)
Move WindowsInitService from SuricataInit() to SuricataMain(), as
initializing Suricata as a service is very specific to the application
and not something you'd want to happen in a library, and SuricataInit
is more common initialization for application and library usage.

src/suricata.c

index 62d8d0f623c77185dc227525b52eb1fcd6c8b2b9..fc88e7baf3cdda6664595c3e3bb552710b3bdff0 100644 (file)
@@ -2899,13 +2899,6 @@ void SuricataPreInit(const char *progname)
 
 void SuricataInit(int argc, char **argv)
 {
-#ifdef OS_WIN32
-    /* service initialization */
-    if (WindowsInitService(argc, argv) != 0) {
-        exit(EXIT_FAILURE);
-    }
-#endif /* OS_WIN32 */
-
     if (ParseCommandLine(argc, argv, &suricata) != TM_ECODE_OK) {
         exit(EXIT_FAILURE);
     }
@@ -3086,6 +3079,13 @@ int SuricataMain(int argc, char **argv)
     /* Pre-initialization tasks: initialize global context and variables. */
     SuricataPreInit(argv[0]);
 
+#ifdef OS_WIN32
+    /* service initialization */
+    if (WindowsInitService(argc, argv) != 0) {
+        exit(EXIT_FAILURE);
+    }
+#endif /* OS_WIN32 */
+
     /* Initialization tasks: parse command line options, load yaml, start runmode... */
     SuricataInit(argc, argv);