sanity check diagnostic mode
[citadel.git] / citadel / server_main.c
index f24a69edcc55dc91bea02a9aadad455ce88cd972..8df0f343a249fd01525e917530ddd2530d1f1569 100644 (file)
@@ -33,6 +33,7 @@ uid_t ctdluid = 0;
 const char *CitadelServiceUDS="citadel-UDS";
 const char *CitadelServiceTCP="citadel-TCP";
 void go_threading(void);
+int sanity_diag_mode = 0;
 
 
 /*
@@ -93,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));
@@ -154,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: "