diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2011-02-25 08:58:01 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2011-02-25 08:58:01 +0100 |
commit | d4e418f5f48a4d73e0a80a54593d11a6cd86d7bc (patch) | |
tree | d4d7de60c008739d2bf5d772b216bda4c856bea2 /src/reaper.cpp | |
parent | c22e52737a5f12f0edfe3f669fa2bfd6e372dec7 (diff) |
Socket with no owner objects is deallocated immediately
Till now the deallocation of such socket was delayed
till zmq_term() thus creating a "leak".
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/reaper.cpp')
-rw-r--r-- | src/reaper.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/reaper.cpp b/src/reaper.cpp index 4710a91..7829482 100644 --- a/src/reaper.cpp +++ b/src/reaper.cpp @@ -96,12 +96,13 @@ void zmq::reaper_t::process_stop () void zmq::reaper_t::process_reap (socket_base_t *socket_) { - // Start termination of associated I/O object hierarchy. - socket_->terminate (); - // Add the socket to the poller. socket_->start_reaping (poller); + // Start termination of associated I/O object hierarchy. + socket_->terminate (); + socket_->check_destroy (); + ++sockets; } |