#include "socketengine.h"
#include <sys/epoll.h>
#include <ulimit.h>
+#include <iostream>
#define EP_DELAY 5
/** A specialisation of the SocketEngine class, designed to use linux 2.6 epoll().
else
{
ServerInstance->Logs->Log("SOCKET", DEFAULT, "ERROR: Can't determine maximum number of open sockets!");
- printf("ERROR: Can't determine maximum number of open sockets!\n");
+ std::cout << "ERROR: Can't determine maximum number of open sockets!" << std::endl;
ServerInstance->Exit(EXIT_STATUS_SOCKETENGINE);
}
{
ServerInstance->Logs->Log("SOCKET",DEFAULT, "ERROR: Could not initialize socket engine: %s", strerror(errno));
ServerInstance->Logs->Log("SOCKET",DEFAULT, "ERROR: Your kernel probably does not have the proper features. This is a fatal error, exiting now.");
- printf("ERROR: Could not initialize epoll socket engine: %s\n", strerror(errno));
- printf("ERROR: Your kernel probably does not have the proper features. This is a fatal error, exiting now.\n");
+ 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->Exit(EXIT_STATUS_SOCKETENGINE);
}
delete[] events;
}
-static int mask_to_epoll(int event_mask)
+static unsigned mask_to_epoll(int event_mask)
{
- int rv = 0;
+ unsigned rv = 0;
if (event_mask & (FD_WANT_POLL_READ | FD_WANT_POLL_WRITE | FD_WANT_SINGLE_WRITE))
{
// we need to use standard polling on this FD
void EPollEngine::OnSetEvent(EventHandler* eh, int old_mask, int new_mask)
{
- int old_events = mask_to_epoll(old_mask);
- int new_events = mask_to_epoll(new_mask);
+ unsigned old_events = mask_to_epoll(old_mask);
+ unsigned new_events = mask_to_epoll(new_mask);
if (old_events != new_events)
{
// ok, we actually have something to tell the kernel about