*/
/** \file audiod.c The paraslash's audio daemon. */
+
+#include <netinet/in.h>
+#include <sys/socket.h>
#include <regex.h>
#include <sys/types.h>
+#include <arpa/inet.h>
+#include <sys/un.h>
+#include <netdb.h>
#include <signal.h>
#include "para.h"
*/
void __noreturn clean_exit(int status, const char *msg)
{
- int i;
-
if (socket_name)
unlink(socket_name);
close_stat_pipe();
- FOR_EACH_SLOT(i)
- close_slot(i);
+ close_unused_slots();
audiod_cmdline_parser_free(&conf);
close_stat_clients();
PARA_EMERG_LOG("%s\n", msg);
writer_init();
if (conf.help_given || conf.detailed_help_given)
print_help_and_die();
- drop_privileges_or_die(conf.user_arg, conf.group_arg);
+ daemon_drop_privileges_or_die(conf.user_arg, conf.group_arg);
parse_config_or_die();
init_colors_or_die();
init_random_seed_or_die();
PARA_EMERG_LOG("%s\n", para_strerror(-ret));
exit(EXIT_FAILURE);
}
- log_welcome("para_audiod");
- set_server_start_time(NULL);
+ daemon_log_welcome("para_audiod");
+ daemon_set_start_time();
set_initial_status();
FOR_EACH_SLOT(i)
clear_slot(i);