diff options
| author | Dwight <dmerriman@gmail.com> | 2008-07-01 20:01:28 -0400 |
|---|---|---|
| committer | Dwight <dmerriman@gmail.com> | 2008-07-01 20:01:28 -0400 |
| commit | b3f5a1f27fa034302efe813fc9f650ae875728b8 (patch) | |
| tree | da8ca1f4015a2372f3d39edb574d358f468f63d8 /grid/message.cpp | |
| parent | fc0e91f68eed24a29f621604004dece18ee54875 (diff) | |
close sockets on shutdownr0.0.7_rc2
Diffstat (limited to 'grid/message.cpp')
| -rw-r--r-- | grid/message.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/grid/message.cpp b/grid/message.cpp index c9f512064bf..40b6af6f7cc 100644 --- a/grid/message.cpp +++ b/grid/message.cpp @@ -58,9 +58,19 @@ struct MsgStart { } } msgstart; -MessagingPort::MessagingPort(int _sock, SockAddr& _far) : sock(_sock), farEnd(_far) { } +set<MessagingPort*> ports; + +void closeAllSockets() { + for( set<MessagingPort*>::iterator i = ports.begin(); i != ports.end(); i++ ) + (*i)->shutdown(); +} + +MessagingPort::MessagingPort(int _sock, SockAddr& _far) : sock(_sock), farEnd(_far) { + ports.insert(this); +} MessagingPort::MessagingPort() { + ports.insert(this); sock = -1; } @@ -73,6 +83,7 @@ void MessagingPort::shutdown() { MessagingPort::~MessagingPort() { shutdown(); + ports.erase(this); } bool MessagingPort::connect(SockAddr& _far) |
