diff options
-rw-r--r-- | src/ypollset.cpp | 1 | ||||
-rw-r--r-- | src/zmq_engine.cpp | 6 |
2 files changed, 6 insertions, 1 deletions
diff --git a/src/ypollset.cpp b/src/ypollset.cpp index 4e73361..0f0d75f 100644 --- a/src/ypollset.cpp +++ b/src/ypollset.cpp @@ -29,7 +29,6 @@ zmq::ypollset_t::~ypollset_t () void zmq::ypollset_t::signal (int signal_) { -printf ("++signal\n"); zmq_assert (signal_ >= 0 && signal_ < wait_signal); if (bits.btsr (signal_, wait_signal)) sem.post (); diff --git a/src/zmq_engine.cpp b/src/zmq_engine.cpp index b82af0a..baa0eee 100644 --- a/src/zmq_engine.cpp +++ b/src/zmq_engine.cpp @@ -137,6 +137,12 @@ void zmq::zmq_engine_t::out_event () void zmq::zmq_engine_t::revive () { set_pollout (handle); + + // Speculative write: The assumption is that at the moment new message + // was sent by the user the socket is probably available for writing. + // Thus we try to write the data to socket avoiding polling for POLLOUT. + // Consequently, the latency should be better in request/reply scenarios. + out_event (); } void zmq::zmq_engine_t::error () |