X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserver_main.c;h=9bd9be89e8ebfd21468f6bc1a95b2ad5f6a61604;hb=d424d048b75f6ad6ddb3c92d8d1cf868d63e303f;hp=3e94a8ab124fa6e66d38fb3f37bd58434f1105c9;hpb=7395c7c662ad7e40a99aef8937e8f90d9e9a729a;p=citadel.git diff --git a/citadel/server_main.c b/citadel/server_main.c index 3e94a8ab1..9bd9be89e 100644 --- a/citadel/server_main.c +++ b/citadel/server_main.c @@ -1,7 +1,7 @@ /* * citserver's main() function lives here. * - * Copyright (c) 1987-2018 by the citadel.org team + * Copyright (c) 1987-2019 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. @@ -32,7 +32,6 @@ uid_t ctdluid = 0; const char *CitadelServiceUDS="citadel-UDS"; const char *CitadelServiceTCP="citadel-TCP"; -void go_threading(void); int sanity_diag_mode = 0; @@ -40,7 +39,7 @@ int sanity_diag_mode = 0; * Create or remove a lock file, so we only have one Citadel Server running at a time. */ void ctdl_lockfile(int yo) { - static char lockfilename[SIZ]; + static char lockfilename[PATH_MAX]; static FILE *fp; if (yo) { @@ -214,7 +213,7 @@ int main(int argc, char **argv) syslog(LOG_INFO, " "); syslog(LOG_INFO, "*** Citadel server engine ***\n"); syslog(LOG_INFO, "Version %d (build %s) ***", REV_LEVEL, svn_revision()); - syslog(LOG_INFO, "Copyright (C) 1987-2018 by the Citadel development team."); + syslog(LOG_INFO, "Copyright (C) 1987-2019 by the Citadel development team."); syslog(LOG_INFO, " "); syslog(LOG_INFO, "This program is open source software: you can redistribute it and/or"); syslog(LOG_INFO, "modify it under the terms of the GNU General Public License, version 3."); @@ -251,26 +250,12 @@ int main(int argc, char **argv) #endif ctdl_lockfile(1); - - /* Initialize... */ - init_sysdep(); - - /* - * Do non system dependent startup functions. - */ - master_startup(); - - /* - * Check that the control record is correct and place sensible values if it isn't - */ - check_control(); - - /* - * Run any upgrade entry points - */ - syslog(LOG_INFO, "main: upgrading modules"); + init_sysdep(); // Initialize... + master_startup(); // Do non system dependent startup functions + check_control(); // Check, sanitize, initialize the control record + syslog(LOG_INFO, "main: upgrading modules"); // Run any upgrade entry points upgrade_modules(); - + /* * Load the user for the masterCC or create them if they don't exist */ @@ -313,9 +298,6 @@ int main(int argc, char **argv) do_async_loop, CitadelServiceTCP); - - - /* * Load any server-side extensions available here. */ @@ -376,5 +358,8 @@ int main(int argc, char **argv) int exit_code = master_cleanup(exit_signal); ctdl_lockfile(0); + if (restart_server) { + execv(argv[0], argv); + } return(exit_code); }