summaryrefslogtreecommitdiff
path: root/src/socketengines
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-06-23 15:10:50 -0400
committerAdam <Adam@anope.org>2011-06-23 15:10:50 -0400
commitb1a075b4621820203523079d78904a82a4d9b2a4 (patch)
tree15885843a238df59fb2b35149c044e01a3a68cf5 /src/socketengines
parent3be75cbcb309d61443b6dbfe05506aa73afdc402 (diff)
Fixed bug #1276 and some other valgrind warnings
Diffstat (limited to 'src/socketengines')
-rw-r--r--src/socketengines/socketengine_epoll.cpp8
-rw-r--r--src/socketengines/socketengine_poll.cpp8
-rw-r--r--src/socketengines/socketengine_select.cpp8
3 files changed, 18 insertions, 6 deletions
diff --git a/src/socketengines/socketengine_epoll.cpp b/src/socketengines/socketengine_epoll.cpp
index 316696f54..ad9bef3ce 100644
--- a/src/socketengines/socketengine_epoll.cpp
+++ b/src/socketengines/socketengine_epoll.cpp
@@ -32,8 +32,12 @@ void SocketEngine::Shutdown()
{
Process();
- for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end; ++it)
- delete it->second;
+ for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end;)
+ {
+ Socket *s = it->second;
+ ++it;
+ delete s;
+ }
Sockets.clear();
delete [] events;
diff --git a/src/socketengines/socketengine_poll.cpp b/src/socketengines/socketengine_poll.cpp
index 3202bbe29..773a89839 100644
--- a/src/socketengines/socketengine_poll.cpp
+++ b/src/socketengines/socketengine_poll.cpp
@@ -39,8 +39,12 @@ void SocketEngine::Shutdown()
{
Process();
- for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end; ++it)
- delete it->second;
+ for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end;)
+ {
+ Socket *s = it->second;
+ ++it;
+ delete s;
+ }
Sockets.clear();
delete [] events;
diff --git a/src/socketengines/socketengine_select.cpp b/src/socketengines/socketengine_select.cpp
index e23046b79..99a0fefe1 100644
--- a/src/socketengines/socketengine_select.cpp
+++ b/src/socketengines/socketengine_select.cpp
@@ -15,8 +15,12 @@ void SocketEngine::Shutdown()
{
Process();
- for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end; ++it)
- delete it->second;
+ for (std::map<int, Socket *>::const_iterator it = Sockets.begin(), it_end = Sockets.end(); it != it_end;)
+ {
+ Socket *s = it->second;
+ ++it;
+ delete s;
+ }
Sockets.clear();
MaxFD = 0;