summaryrefslogtreecommitdiff
path: root/src/socketengines
diff options
context:
space:
mode:
authorPeter Powell <petpow@saberuk.com>2017-10-22 03:10:48 +0100
committerPeter Powell <petpow@saberuk.com>2017-10-22 19:45:05 +0100
commit63e300ed082b82530ad5ae0949f45686746b7c9b (patch)
tree652448c5c2bd134df654b49b3aec7d82899abf64 /src/socketengines
parentb1098712771ab823042fcf8614a706c76c2ff401 (diff)
Deduplicate error handling in the socket engines.
Diffstat (limited to 'src/socketengines')
-rw-r--r--src/socketengines/socketengine_epoll.cpp11
-rw-r--r--src/socketengines/socketengine_kqueue.cpp11
-rw-r--r--src/socketengines/socketengine_poll.cpp1
3 files changed, 3 insertions, 20 deletions
diff --git a/src/socketengines/socketengine_epoll.cpp b/src/socketengines/socketengine_epoll.cpp
index dc10a3613..60b365ee1 100644
--- a/src/socketengines/socketengine_epoll.cpp
+++ b/src/socketengines/socketengine_epoll.cpp
@@ -19,11 +19,9 @@
#include "inspircd.h"
-#include "exitcodes.h"
#include <sys/epoll.h>
#include <sys/resource.h>
-#include <iostream>
/** A specialisation of the SocketEngine class, designed to use linux 2.6 epoll().
*/
@@ -43,15 +41,8 @@ void SocketEngine::Init()
// 128 is not a maximum, just a hint at the eventual number of sockets that may be polled,
// and it is completely ignored by 2.6.8 and later kernels, except it must be larger than zero.
EngineHandle = epoll_create(128);
-
if (EngineHandle == -1)
- {
- ServerInstance->Logs->Log("SOCKET", LOG_DEFAULT, "ERROR: Could not initialize socket engine: %s", strerror(errno));
- ServerInstance->Logs->Log("SOCKET", LOG_DEFAULT, "ERROR: Your kernel probably does not have the proper features. This is a fatal error, exiting now.");
- std::cout << "ERROR: Could not initialize epoll socket engine: " << strerror(errno) << std::endl;
- std::cout << "ERROR: Your kernel probably does not have the proper features. This is a fatal error, exiting now." << std::endl;
- ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE);
- }
+ InitError();
}
void SocketEngine::RecoverFromFork()
diff --git a/src/socketengines/socketengine_kqueue.cpp b/src/socketengines/socketengine_kqueue.cpp
index c969af1fd..b23cfbd9d 100644
--- a/src/socketengines/socketengine_kqueue.cpp
+++ b/src/socketengines/socketengine_kqueue.cpp
@@ -20,11 +20,10 @@
#include "inspircd.h"
-#include "exitcodes.h"
+
#include <sys/types.h>
#include <sys/event.h>
#include <sys/time.h>
-#include <iostream>
#include <sys/sysctl.h>
/** A specialisation of the SocketEngine class, designed to use BSD kqueue().
@@ -59,13 +58,7 @@ void SocketEngine::RecoverFromFork()
*/
EngineHandle = kqueue();
if (EngineHandle == -1)
- {
- ServerInstance->Logs->Log("SOCKET", LOG_DEFAULT, "ERROR: Could not initialize socket engine. Your kernel probably does not have the proper features.");
- ServerInstance->Logs->Log("SOCKET", LOG_DEFAULT, "ERROR: this is a fatal error, exiting now.");
- std::cout << "ERROR: Could not initialize socket engine. Your kernel probably does not have the proper features." << std::endl;
- std::cout << "ERROR: this is a fatal error, exiting now." << std::endl;
- ServerInstance->QuickExit(EXIT_STATUS_SOCKETENGINE);
- }
+ InitError();
}
/** Shutdown the kqueue engine
diff --git a/src/socketengines/socketengine_poll.cpp b/src/socketengines/socketengine_poll.cpp
index c80593588..339045a8c 100644
--- a/src/socketengines/socketengine_poll.cpp
+++ b/src/socketengines/socketengine_poll.cpp
@@ -21,7 +21,6 @@
*/
-#include "exitcodes.h"
#include "inspircd.h"
#include <sys/poll.h>