summaryrefslogtreecommitdiff
path: root/src/sockets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sockets.cpp')
-rw-r--r--src/sockets.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/sockets.cpp b/src/sockets.cpp
index 665db5ca2..5cf567de5 100644
--- a/src/sockets.cpp
+++ b/src/sockets.cpp
@@ -384,7 +384,7 @@ void SocketIO::Connect(ConnectionSocket *s, const Anope::string &target, int por
s->OnError(Anope::LastError());
else
{
- SocketEngine::MarkWritable(s);
+ SocketEngine::Change(s, true, SF_WRITABLE);
s->SetFlag(SF_CONNECTING);
}
}
@@ -444,16 +444,19 @@ Socket::Socket(int sock, bool ipv6, int type) : Flags<SocketFlag>(SocketFlagStri
else
this->Sock = sock;
this->SetNonBlocking();
- SocketEngine::AddSocket(this);
+ SocketEngine::Sockets[this->Sock] = this;
+ SocketEngine::Change(this, true, SF_READABLE);
}
/** Default destructor
*/
Socket::~Socket()
{
- SocketEngine::DelSocket(this);
+ SocketEngine::Change(this, false, SF_READABLE);
+ SocketEngine::Change(this, false, SF_WRITABLE);
anope_close(this->Sock);
this->IO->Destroy();
+ SocketEngine::Sockets.erase(this->Sock);
}
/** Get the socket FD for this socket