-/*
- * Copyright (C) 1997 Andre Noll <maan@tuebingen.mpg.de>
- *
- * Licensed under the GPL v2. For licencing details see COPYING.
- */
+/* Copyright (C) 1997 Andre Noll <maan@tuebingen.mpg.de>, see file COPYING. */
/** \file daemon.c Some helpers for programs that detach from the console. */
*/
void daemon_open_log_or_die(void)
{
- daemon_close_log();
+ FILE *new_log;
+
if (!me->logfile_name)
return;
- me->logfile = fopen(me->logfile_name, "a");
- if (!me->logfile) {
+ new_log = fopen(me->logfile_name, "a");
+ if (!new_log) {
PARA_EMERG_LOG("can not open %s: %s\n", me->logfile_name,
strerror(errno));
exit(EXIT_FAILURE);
}
+ daemon_close_log();
+ me->logfile = new_log;
/* equivalent to setlinebuf(), but portable */
setvbuf(me->logfile, NULL, _IOLBF, 0);
}
* \param current_time See a \ref daemon_get_uptime().
*
* \return A dynamically allocated string of the form "days:hours:minutes".
- *
- * \sa server_uptime.
*/
__malloc char *daemon_get_uptime_str(const struct timeval *current_time)
{