Commit 2e06737b authored by Martin Hurton's avatar Martin Hurton

pub: Don't delay pipe termination

parent 09a65c55
...@@ -18,6 +18,8 @@ ...@@ -18,6 +18,8 @@
*/ */
#include "pub.hpp" #include "pub.hpp"
#include "pipe.hpp"
#include "err.hpp"
#include "msg.hpp" #include "msg.hpp"
zmq::pub_t::pub_t (class ctx_t *parent_, uint32_t tid_, int sid_) : zmq::pub_t::pub_t (class ctx_t *parent_, uint32_t tid_, int sid_) :
...@@ -30,6 +32,17 @@ zmq::pub_t::~pub_t () ...@@ -30,6 +32,17 @@ zmq::pub_t::~pub_t ()
{ {
} }
void zmq::pub_t::xattach_pipe (pipe_t *pipe_, bool subscribe_to_all_)
{
zmq_assert (pipe_);
// Don't delay pipe termination as there is no one
// to receive the delimiter.
pipe_->set_nodelay ();
xpub_t::xattach_pipe (pipe_, subscribe_to_all_);
}
int zmq::pub_t::xrecv (class msg_t *) int zmq::pub_t::xrecv (class msg_t *)
{ {
// Messages cannot be received from PUB socket. // Messages cannot be received from PUB socket.
......
...@@ -38,6 +38,7 @@ namespace zmq ...@@ -38,6 +38,7 @@ namespace zmq
~pub_t (); ~pub_t ();
// Implementations of virtual functions from socket_base_t. // Implementations of virtual functions from socket_base_t.
void xattach_pipe (zmq::pipe_t *pipe_, bool subscribe_to_all_ = false);
int xrecv (zmq::msg_t *msg_); int xrecv (zmq::msg_t *msg_);
bool xhas_in (); bool xhas_in ();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment