* Sebastian Harl <sh at tokkee.org>
**/
+#if !defined(__GNUC__) || !__GNUC__
+# define __attribute__(x) /**/
+#endif
+
#include "config.h"
#include <assert.h>
return 0;
} /* collectd_stop */
-static void sig_int_term_handler (int signo)
+static void sig_int_term_handler (int __attribute__((unused)) signo)
{
++loop;
return;
} /* sig_int_term_handler */
-static void sig_hup_handler (int signo)
+static void sig_hup_handler (int __attribute__((unused)) signo)
{
++restart;
return;
openlog ("collectdmon", LOG_CONS | LOG_PID, LOG_DAEMON);
if (-1 == daemonize ())
+ {
+ free (collectd_argv);
return 1;
+ }
sa.sa_handler = sig_int_term_handler;
sa.sa_flags = 0;
if (0 != sigaction (SIGINT, &sa, NULL)) {
syslog (LOG_ERR, "Error: sigaction() failed: %s", strerror (errno));
+ free (collectd_argv);
return 1;
}
if (0 != sigaction (SIGTERM, &sa, NULL)) {
syslog (LOG_ERR, "Error: sigaction() failed: %s", strerror (errno));
+ free (collectd_argv);
return 1;
}
if (0 != sigaction (SIGHUP, &sa, NULL)) {
syslog (LOG_ERR, "Error: sigaction() failed: %s", strerror (errno));
- return 1;
- }
-
- sigaddset (&sa.sa_mask, SIGCHLD);
- if (0 != sigprocmask (SIG_BLOCK, &sa.sa_mask, NULL)) {
- syslog (LOG_ERR, "Error: sigprocmask() failed: %s", strerror (errno));
+ free (collectd_argv);
return 1;
}