summaryrefslogtreecommitdiff
path: root/src/reaper.hpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2011-02-09 22:23:21 +0100
committerMartin Sustrik <sustrik@250bpm.com>2011-02-09 22:23:21 +0100
commit5b82b1ba30d136655c72f116ee2e372ded453952 (patch)
tree53ea4a7a075ff52fe75af64b908a04cf9001d39b /src/reaper.hpp
parent80ac398bba928fa7f245d2e107071677a13185cf (diff)
Reaper thread waits for commands rather them retrieving them periodically
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/reaper.hpp')
-rw-r--r--src/reaper.hpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/reaper.hpp b/src/reaper.hpp
index 8598cd9..6536b74 100644
--- a/src/reaper.hpp
+++ b/src/reaper.hpp
@@ -47,15 +47,10 @@ namespace zmq
private:
- void reap ();
-
// Command handlers.
void process_stop ();
void process_reap (class socket_base_t *socket_);
-
- // List of all sockets being terminated.
- typedef std::vector <class socket_base_t*> sockets_t;
- sockets_t sockets;
+ void process_reaped ();
// Reaper thread accesses incoming commands via this mailbox.
mailbox_t mailbox;
@@ -66,12 +61,12 @@ namespace zmq
// I/O multiplexing is performed using a poller object.
poller_t *poller;
+ // Number of sockets being reaped at the moment.
+ int sockets;
+
// If true, we were already asked to terminate.
bool terminating;
- // If true, timer till next reaping is running.
- bool has_timer;
-
reaper_t (const reaper_t&);
const reaper_t &operator = (const reaper_t&);
};