]> code.citadel.org Git - citadel.git/blobdiff - citadel/server_main.c
sanity check diagnostic mode
[citadel.git] / citadel / server_main.c
index 536612ad7bea3f0e8f7559c5202e588737225291..8df0f343a249fd01525e917530ddd2530d1f1569 100644 (file)
 #include "serv_extensions.h"
 #include "citadel_dirs.h"
 #include "user_ops.h"
-#include "ecrash.h"
 
 uid_t ctdluid = 0;
 const char *CitadelServiceUDS="citadel-UDS";
 const char *CitadelServiceTCP="citadel-TCP";
 void go_threading(void);
+int sanity_diag_mode = 0;
 
 
 /*
@@ -87,10 +87,6 @@ int main(int argc, char **argv)
        struct passwd *p = NULL;
 #ifdef HAVE_RUN_DIR
        struct stat filestats;
-#endif
-#ifdef HAVE_BACKTRACE
-       eCrashParameters params;
-//     eCrashSymbolTable symbol_table;
 #endif
 
        /* initialize the master context */
@@ -98,7 +94,7 @@ int main(int argc, char **argv)
        InitializeMasterTSD();
 
        /* parse command-line arguments */
-       while ((a=getopt(argc, argv, "l:dh:x:t:B:Dru:")) != EOF) switch(a) {
+       while ((a=getopt(argc, argv, "l:dh:x:t:B:Dru:s")) != EOF) switch(a) {
 
                case 'l':
                        safestrncpy(facility, optarg, sizeof(facility));
@@ -159,6 +155,11 @@ int main(int argc, char **argv)
                        }
                        break;
 
+               /* -s tells the server to suppress fixing any discrepancies found during sanity checks, but exit after those checks complete */
+               case 's':
+                       sanity_diag_mode = 1;
+                       break;
+
                default:
                /* any other parameter makes it crash and burn */
                        fprintf(stderr, "citserver: usage: "