X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/disorder/blobdiff_plain/e7eb3a2744aa45179daea235800753d3d1955338..34fb8c61ac9d00d64a82facbfc16113cc5b6cfd1:/server/stats.c diff --git a/server/stats.c b/server/stats.c index 772be13..1ac1cd7 100644 --- a/server/stats.c +++ b/server/stats.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder - * Copyright (C) 2007, 2008 Richard Kettlewell + * Copyright (C) 2007-2009 Richard Kettlewell * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -15,6 +15,12 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ +/** @file server/stats.c + * @brief Generate server statistics + * + * This is done in a subprogram because it can be quite slow and we don't want + * to wedge the rest of the server for the duration. + */ #include "disorder-server.h" @@ -51,7 +57,7 @@ int main(int argc, char **argv) { set_progname(argv); mem_init(); - if(!setlocale(LC_CTYPE, "")) fatal(errno, "error calling setlocale"); + if(!setlocale(LC_CTYPE, "")) disorder_fatal(errno, "error calling setlocale"); while((n = getopt_long(argc, argv, "hVc:dDSs", options, 0)) >= 0) { switch(n) { case 'h': help(); @@ -61,15 +67,15 @@ int main(int argc, char **argv) { case 'D': debugging = 0; break; case 'S': logsyslog = 0; break; case 's': logsyslog = 1; break; - default: fatal(0, "invalid option"); + default: disorder_fatal(0, "invalid option"); } } if(logsyslog) { openlog(progname, LOG_PID, LOG_DAEMON); log_default = &log_syslog; } - if(config_read(0)) - fatal(0, "cannot read configuration"); + if(config_read(0, NULL)) + disorder_fatal(0, "cannot read configuration"); trackdb_init(TRACKDB_NO_RECOVER); trackdb_open(TRACKDB_NO_UPGRADE); stats = trackdb_stats(0);