X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/e7eb3a2744aa45179daea235800753d3d1955338..802bb5963b7883e640a87a11dcd7a81bf811a076:/server/deadlock.c?ds=sidebyside diff --git a/server/deadlock.c b/server/deadlock.c index b53bbd5..6855d6a 100644 --- a/server/deadlock.c +++ b/server/deadlock.c @@ -1,6 +1,6 @@ /* * This file is part of DisOrder - * Copyright (C) 2005, 2007, 2008 Richard Kettlewell + * Copyright (C) 2005, 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,7 +15,11 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ - +/** @file server/deadlock.c + * @brief Deadlock monitor + * + * Spawned by the server. + */ #include "disorder-server.h" static const struct option options[] = { @@ -30,7 +34,7 @@ static const struct option options[] = { }; /* display usage message and terminate */ -static void help(void) { +static void attribute((noreturn)) help(void) { xprintf("Usage:\n" " disorder-deadlock [OPTIONS]\n" "Options:\n" @@ -50,7 +54,7 @@ int main(int argc, char **argv) { int n, err, aborted, logsyslog = !isatty(2); set_progname(argv); - 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(); @@ -60,28 +64,29 @@ 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"); - info("started"); + config_per_user = 0; + if(config_read(0, NULL)) disorder_fatal(0, "cannot read configuration"); + disorder_info("started"); trackdb_init(TRACKDB_NO_RECOVER); while(getppid() != 1) { if((err = trackdb_env->lock_detect(trackdb_env, 0, DB_LOCK_DEFAULT, &aborted))) - fatal(0, "trackdb_env->lock_detect: %s", db_strerror(err)); + disorder_fatal(0, "trackdb_env->lock_detect: %s", db_strerror(err)); if(aborted) D(("aborted %d lock requests", aborted)); sleep(1); } /* if our parent goes away, it's time to stop */ - info("stopped (parent terminated)"); + disorder_info("stopped (parent terminated)"); return 0; }