diff --git a/src/daemon/sysdbd.c b/src/daemon/sysdbd.c
index 2f2afa249505b79bcfc76d10169272e6b7fcef06..6952c1ce7df5a85ab5a12804acef8f3900221b4a 100644 (file)
--- a/src/daemon/sysdbd.c
+++ b/src/daemon/sysdbd.c
#include "sysdb.h"
#include "core/plugin.h"
#include "core/store.h"
-#include "core/error.h"
+#include "utils/error.h"
#include "frontend/sock.h"
"\nOptions:\n"
" -C FILE the main configuration file\n"
" default: "CONFIGFILE"\n"
-" -d run in background (daemonize)\n"
+" -D do not run in background (daemonize)\n"
"\n"
" -h display this help and exit\n"
" -V display the version number and copyright\n"
printf("SysDBd version "SDB_VERSION_STRING SDB_VERSION_EXTRA", "
"built "BUILD_DATE"\n"
"using libsysdb version %s%s\n"
- "Copyright (C) 2012 "PACKAGE_MAINTAINER"\n"
+ "Copyright (C) 2012-2013 "PACKAGE_MAINTAINER"\n"
"\nThis is free software under the terms of the BSD license, see "
"the source for\ncopying conditions. There is NO WARRANTY; not "
backend_handler(void __attribute__((unused)) *data)
{
sdb_plugin_collector_loop(&plugin_main_loop);
+ sdb_log(SDB_LOG_INFO, "Shutting down backend thread");
return NULL;
} /* backend_handler */
main(int argc, char **argv)
{
char *config_filename = NULL;
- _Bool do_daemonize = 0;
+ _Bool do_daemonize = 1;
pthread_t backend_thread;
int status;
while (42) {
- int opt = getopt(argc, argv, "C:dhV");
+ int opt = getopt(argc, argv, "C:DhV");
if (-1 == opt)
break;
case 'C':
config_filename = optarg;
break;
- case 'd':
- do_daemonize = 1;
+ case 'D':
+ do_daemonize = 0;
break;
case 'h':
sdb_log(SDB_LOG_INFO, "Waiting for backend thread to terminate");
plugin_main_loop.do_loop = 0;
+ pthread_kill(backend_thread, SIGINT);
pthread_join(backend_thread, NULL);
sdb_fe_sock_destroy(sock);
}