X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserver_main.c;h=33fdc33bcca13daed5bfa5ccf6a778dcdad08e63;hb=6e9fd5f635b9eccd27c91f22b4d8690279e6c20d;hp=753e73a6b0b2e6bd1bf87b36961bd43e402dbc60;hpb=a520d904d0069654c57d2b69618bee1225ee3067;p=citadel.git diff --git a/citadel/server_main.c b/citadel/server_main.c index 753e73a6b..33fdc33bc 100644 --- a/citadel/server_main.c +++ b/citadel/server_main.c @@ -1,16 +1,15 @@ -/* - * citserver's main() function lives here. - * - * Copyright (c) 1987-2021 by the citadel.org team - * - * This program is open source software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License version 3. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - */ +// citserver's main() function lives here. +// +// Copyright (c) 1987-2021 by the citadel.org team +// +// This program is open source software; you can redistribute it and/or modify +// it under the terms of the GNU General Public License version 3. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + #include #include #include @@ -69,9 +68,8 @@ void ctdl_lockfile(int op) { */ int main(int argc, char **argv) { - size_t basesize = 64; char facility[32]; - int a; /* General-purpose variables */ + int a; // General-purpose variables struct passwd pw, *pwp = NULL; char pwbuf[SIZ]; int drop_root_perms = 1; @@ -102,7 +100,7 @@ int main(int argc, char **argv) { syslog(LOG_INFO, "%s", libcitadel_version_string()); /* parse command-line arguments */ - while ((a=getopt(argc, argv, "cl:dh:x:t:B:Dru:s:")) != EOF) switch(a) { + while ((a=getopt(argc, argv, "cl:dh:x:t:B:Dru:s:b:")) != EOF) switch(a) { // test this binary for compatibility and exit case 'c': @@ -135,9 +133,8 @@ int main(int argc, char **argv) { case 't': break; - // basesize (passed to libcitadel) + // deprecated case 'B': - basesize = atoi(optarg); break; // deprecated @@ -172,6 +169,10 @@ int main(int argc, char **argv) { sanity_diag_mode = atoi(optarg); break; + case 'b': + backtrace_filename = strdup(optarg); + break; + // any other parameter makes it crash and burn default: fprintf(stderr, "citserver: usage: " @@ -187,6 +188,7 @@ int main(int argc, char **argv) { if (chdir(ctdldir) != 0) { syslog(LOG_ERR, "main: unable to change directory to [%s]: %m", ctdldir); + exit(CTDLEXIT_HOME); } else { syslog(LOG_INFO, "main: running in data directory %s", ctdldir); @@ -218,7 +220,6 @@ int main(int argc, char **argv) { InitializeMasterCC(); InitializeMasterTSD(); - StartLibCitadel(basesize); setlogmask(LOG_UPTO(max_log_level)); openlog("citserver", ( running_as_daemon ? (LOG_PID) : (LOG_PID | LOG_PERROR) ),