New build.
This commit is contained in:
1 parent
a5a51f8aae
commit
b4ab5fb86a
835 files changed
+26499
-3119
No files matched your search
@@ -69,17 +69,14 @@ namespace core {
|
||||
}
|
||||
|
||||
bool EPoll::registerSocket(Socket *socket) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0001-" << socket->getDescriptor();
|
||||
lock.lock();
|
||||
std::map<int, Socket *>::iterator temp = sockets.find(socket->getDescriptor());
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0002-" << socket->getDescriptor();
|
||||
if(temp != sockets.end())
|
||||
throw coreutils::Exception("Attempt to register socket that is already registered.");
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0003-" << socket->getDescriptor();
|
||||
coreutils::Log(coreutils::LOG_DEBUG_3) << "Registering socket " << socket->getDescriptor() << ".";
|
||||
sockets.insert(std::pair<int, Socket *>(socket->getDescriptor(), socket));
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0004-" << socket->getDescriptor();
|
||||
enableSocket(socket);
|
||||
coreutils::Log(coreutils::LOG_DEBUG_2) << "0005-" << socket->getDescriptor();
|
||||
lock.unlock();
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -95,17 +92,16 @@ namespace core {
|
||||
return true;
|
||||
}
|
||||
|
||||
void EPoll::eventReceived(struct epoll_event event) {
|
||||
void EPoll::eventReceived(struct epoll_event event, pid_t threadId) {
|
||||
lock.lock();
|
||||
std::map<int, Socket *>::iterator socket = sockets.find(event.data.fd);
|
||||
lock.unlock();
|
||||
if(socket != sockets.end()) {
|
||||
if(socket->second->eventReceived(event)) {
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "resetSocket from eventReceived.";
|
||||
resetSocket(socket->second);
|
||||
}
|
||||
if(socket->second->eventReceived(event, threadId))
|
||||
resetSocket(socket->second);
|
||||
}
|
||||
else
|
||||
throw coreutils::Exception("Reference to socket that has no object.");
|
||||
|
||||
throw coreutils::Exception("Reference to socket that has no object.");
|
||||
}
|
||||
|
||||
int EPoll::getDescriptor() {
|
||||
@@ -119,6 +115,7 @@ namespace core {
|
||||
threadx.output(data);
|
||||
data << "|" << std::endl;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
void EPoll::enableSocket(Socket *socket) {
|
||||
@@ -139,8 +136,6 @@ namespace core {
|
||||
}
|
||||
|
||||
void EPoll::resetSocket(Socket *socket) {
|
||||
if(!socket->active)
|
||||
return;
|
||||
coreutils::Log(coreutils::LOG_DEBUG_4) << "ResetSocket " << socket;
|
||||
struct epoll_event event;
|
||||
event.data.fd = socket->getDescriptor();
|
||||
|
||||
Reference in new issue
Block a user