summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2010-08-24 09:57:15 +0200
committerMartin Sustrik <sustrik@250bpm.com>2010-08-25 15:39:21 +0200
commit87655b0b9d9121465e0b2ea1976b0879b1b1f756 (patch)
tree278a42d4dc6b3560ba5f11d20c6b81afb5cc13a2
parent0d5f3ebbdad12a63e7cc28c53c38d750761a75e3 (diff)
listener object unregisters its fd correctly
-rw-r--r--src/zmq_engine.cpp3
-rw-r--r--src/zmq_listener.cpp5
-rw-r--r--src/zmq_listener.hpp2
3 files changed, 3 insertions, 7 deletions
diff --git a/src/zmq_engine.cpp b/src/zmq_engine.cpp
index 6551bc3..3e98c53 100644
--- a/src/zmq_engine.cpp
+++ b/src/zmq_engine.cpp
@@ -62,15 +62,12 @@ void zmq::zmq_engine_t::plug (io_thread_t *io_thread_, i_inout *inout_)
// Connect to I/O threads poller object.
io_object_t::plug (io_thread_);
-
handle = add_fd (tcp_socket.get_fd ());
set_pollin (handle);
set_pollout (handle);
// Flush all the data that may have been already received downstream.
in_event ();
-
- // TODO: Re-plug to the new I/O thread & poller!
}
void zmq::zmq_engine_t::unplug ()
diff --git a/src/zmq_listener.cpp b/src/zmq_listener.cpp
index 93a68f5..4569ac1 100644
--- a/src/zmq_listener.cpp
+++ b/src/zmq_listener.cpp
@@ -49,9 +49,10 @@ void zmq::zmq_listener_t::process_plug ()
set_pollin (handle);
}
-void zmq::zmq_listener_t::process_unplug ()
+void zmq::zmq_listener_t::process_term ()
{
rm_fd (handle);
+ own_t::process_term ();
}
void zmq::zmq_listener_t::in_event ()
@@ -70,5 +71,3 @@ void zmq::zmq_listener_t::in_event ()
launch_sibling (init);
}
-
-
diff --git a/src/zmq_listener.hpp b/src/zmq_listener.hpp
index 05f4522..0a5ef0f 100644
--- a/src/zmq_listener.hpp
+++ b/src/zmq_listener.hpp
@@ -44,7 +44,7 @@ namespace zmq
// Handlers for incoming commands.
void process_plug ();
- void process_unplug ();
+ void process_term ();
// Handlers for I/O events.
void in_event ();