/*
* ngIRCd -- The Next Generation IRC Daemon
- * Copyright (c)2001-2013 Alexander Barton (alex@barton.de) and Contributors.
+ * Copyright (c)2001-2015 Alexander Barton (alex@barton.de) and Contributors.
*
* 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
#include <signal.h>
#include <sys/types.h>
#include <sys/wait.h>
+#include <time.h>
-#include "imp.h"
#include "conn.h"
-#include "conf-ssl.h"
#include "channel.h"
#include "conf.h"
#include "io.h"
#include "log.h"
#include "ngircd.h"
+
#include "sighandlers.h"
static int signalpipe[2];
SIGINT, SIGQUIT, SIGTERM, SIGHUP, SIGCHLD, SIGUSR1, SIGUSR2
};
-#ifdef DEBUG
static void
Dump_State(void)
{
- Log(LOG_DEBUG, "--- Internal server state: %s ---",
+ LogDebug("--- Internal server state: %s ---",
Client_ID(Client_ThisServer()));
- Log(LOG_DEBUG, "time()=%ld", time(NULL));
+#ifdef HAVE_LONG_LONG
+ LogDebug("time()=%llu", (unsigned long long)time(NULL));
+#else
+ LogDebug("time()=%lu", (unsigned long)time(NULL));
+#endif
Conf_DebugDump();
Conn_DebugDump();
Client_DebugDump();
- Log(LOG_DEBUG, "--- End of state dump ---");
+ LogDebug("--- End of state dump ---");
} /* Dump_State */
-#endif
static void
Signal_Block(int sig)
if (strcmp(old_name, Conf_ServerName) != 0 ) {
strlcpy(Conf_ServerName, old_name, sizeof Conf_ServerName);
Log(LOG_ERR,
- "Can't change \"ServerName\" on runtime! Ignored new name.");
+ "Can't change server name (\"Name\") on runtime! Ignored new name.");
}
if (old_nicklen != Conf_MaxNickLength) {
Conf_MaxNickLength = old_nicklen;
if (!ConnSSL_InitLibrary())
Log(LOG_WARNING,
- "Re-Initializing of SSL failed, using old keys!");
+ "Re-Initializing of SSL failed!");
/* Start listening on sockets */
Conn_InitListeners( );
static void
Signal_Handler(int Signal)
{
+ if (Signal != SIGCHLD) {
+#ifdef HAVE_STRSIGNAL
+ Log(LOG_INFO, "Got signal \"%s\" ...", strsignal(Signal));
+#else
+ Log(LOG_INFO, "Got signal %d ...", Signal);
+#endif
+ }
+
switch (Signal) {
case SIGTERM:
case SIGINT:
while (waitpid( -1, NULL, WNOHANG) > 0)
;
return;
-#ifdef DEBUG
case SIGUSR1:
if (! NGIRCd_Debug) {
Log(LOG_INFO|LOG_snotice,
#endif /* SNIFFER */
}
return;
-#endif
}
/*
/* re-read configuration */
Rehash();
break;
-#ifdef DEBUG
case SIGUSR2:
if (NGIRCd_Debug) {
Log(LOG_INFO|LOG_snotice,
}
break;
default:
- Log(LOG_DEBUG, "Got signal %d! Ignored.", Signal);
-#endif
+ LogDebug("Got signal %d! Ignored.", Signal);
}
Signal_Unblock(Signal);
}
/**
* Initialize the signal handlers, catch
* those signals we are interested in and sets SIGPIPE to be ignored.
- * @return true if initialization was sucessful.
+ * @return true if initialization was successful.
*/
bool
Signals_Init(void)
} /* Signals_Init */
/**
- * Restores signals to their default behaviour.
+ * Restores signals to their default behavior.
*
* This should be called after a fork() in the new
* child prodcess, especially when we are about to call