X-Git-Url: https://code.citadel.org/?a=blobdiff_plain;f=citadel%2Fserver_main.c;h=9da255b50f1a8a54cb706122820b4b94e498aa56;hb=0adb29d5fa73df9c3760478405aaf71fa37054c4;hp=bab3ab69f29bc960da866d43e7c5cfd5a1417825;hpb=c409452f51adb3b1a6645334d083487012dd5428;p=citadel.git diff --git a/citadel/server_main.c b/citadel/server_main.c index bab3ab69f..9da255b50 100644 --- a/citadel/server_main.c +++ b/citadel/server_main.c @@ -1,7 +1,7 @@ /* * citserver's main() function lives here. * - * Copyright (c) 1987-2012 by the citadel.org team + * Copyright (c) 1987-2014 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. @@ -11,72 +11,21 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. */ - -#include "sysdep.h" -#include -#include #include -#include -#include -#include #include -#include -#include -#include -#include - -#if TIME_WITH_SYS_TIME -# include -# include -#else -# if HAVE_SYS_TIME_H -# include -# else -# include -# endif -#endif - -#include -#include -#include -#include -#include -#include -#include -#include #include -#include -#ifdef HAVE_SYS_PRCTL_H -#include -#endif #include -#include "citadel.h" -#include "server.h" -#include "serv_extensions.h" -#include "sysdep_decls.h" -#include "threads.h" + #include "citserver.h" -#include "support.h" +#include "svn_revision.h" +#include "modules_init.h" #include "config.h" #include "control.h" -#include "database.h" -#include "user_ops.h" -#include "housekeeping.h" -#include "svn_revision.h" +#include "serv_extensions.h" #include "citadel_dirs.h" - -#include "context.h" - -#include "modules_init.h" +#include "user_ops.h" #include "ecrash.h" -#ifdef HAVE_SYS_SELECT_H -#include -#endif - -#ifndef HAVE_SNPRINTF -#include "snprintf.h" -#endif const char *CitadelServiceUDS="citadel-UDS"; const char *CitadelServiceTCP="citadel-TCP"; @@ -89,6 +38,7 @@ void go_threading(void); */ int main(int argc, char **argv) { + size_t basesize = 64; char facility[32]; int a; /* General-purpose variables */ struct passwd pw, *pwp = NULL; @@ -100,6 +50,7 @@ int main(int argc, char **argv) char relhome[PATH_MAX]=""; char ctdldir[PATH_MAX]=CTDLDIR; int syslog_facility = LOG_DAEMON; + const char *eDebuglist[] = {NULL, NULL}; #ifdef HAVE_RUN_DIR struct stat filestats; #endif @@ -113,7 +64,7 @@ int main(int argc, char **argv) InitializeMasterTSD(); /* parse command-line arguments */ - while ((a=getopt(argc, argv, "l:dh:x:t:Dr")) != EOF) switch(a) { + while ((a=getopt(argc, argv, "l:dh:x:t:B:Dr")) != EOF) switch(a) { case 'l': safestrncpy(facility, optarg, sizeof(facility)); @@ -136,11 +87,15 @@ int main(int argc, char **argv) home=1; break; - case 'x': /* deprecated */ + case 'x': + eDebuglist [0] = optarg; break; case 't': /* deprecated */ break; + case 'B': /* Basesize */ + basesize = atoi(optarg); + break; case 'D': dbg = 1; @@ -163,7 +118,7 @@ int main(int argc, char **argv) ); exit(1); } - + StartLibCitadel(basesize); openlog("citserver", ( running_as_daemon ? (LOG_PID) : (LOG_PID | LOG_PERROR) ), syslog_facility @@ -198,7 +153,7 @@ int main(int argc, char **argv) syslog(LOG_NOTICE, "*** Citadel server engine v%d.%02d (build %s) ***", (REV_LEVEL/100), (REV_LEVEL%100), svn_revision()); - syslog(LOG_NOTICE, "Copyright (C) 1987-2012 by the Citadel development team."); + syslog(LOG_NOTICE, "Copyright (C) 1987-2014 by the Citadel development team."); syslog(LOG_NOTICE, "This program is distributed under the terms of the GNU " "General Public License."); syslog(LOG_NOTICE, " "); @@ -314,6 +269,9 @@ int main(int argc, char **argv) initialise_modules(0); + eDebuglist[1] = getenv("CITADEL_LOGDEBUG"); + CtdlSetDebugLogFacilities(eDebuglist, 2); + /* * If we need host auth, start our chkpwd daemon. */ @@ -366,7 +324,7 @@ int main(int argc, char **argv) } /* We want to check for idle sessions once per minute */ - CtdlRegisterSessionHook(terminate_idle_sessions, EVT_TIMER); + CtdlRegisterSessionHook(terminate_idle_sessions, EVT_TIMER, PRIO_CLEANUP + 1); go_threading();