mirror of
https://github.com/zeromq/libzmq.git
synced 2025-01-16 20:41:18 +08:00
zmq::writer_t: Add missing test for swap
This commit is contained in:
parent
92f9136ca6
commit
be159b6316
32
src/pipe.cpp
32
src/pipe.cpp
@ -309,24 +309,24 @@ void zmq::writer_t::process_activate_writer (uint64_t msgs_read_)
|
||||
}
|
||||
if (!pipe->flush ())
|
||||
send_activate_reader (reader);
|
||||
}
|
||||
|
||||
// There are no more messages in the swap. We can switch into
|
||||
// standard in-memory mode.
|
||||
if (swap->empty ()) {
|
||||
swapping = false;
|
||||
// There are no more messages in the swap. We can switch into
|
||||
// standard in-memory mode.
|
||||
if (swap->empty ()) {
|
||||
swapping = false;
|
||||
|
||||
// Push delimiter into the pipe. Trick the compiler to belive that
|
||||
// the tag is a valid pointer. Note that watermarks are not checked
|
||||
// thus the delimiter can be written even though the pipe is full.
|
||||
if (pending_delimiter) {
|
||||
zmq_msg_t msg;
|
||||
const unsigned char *offset = 0;
|
||||
msg.content = (void*) (offset + ZMQ_DELIMITER);
|
||||
msg.flags = 0;
|
||||
pipe->write (msg, false);
|
||||
flush ();
|
||||
return;
|
||||
// Push delimiter into the pipe. Trick the compiler to belive that
|
||||
// the tag is a valid pointer. Note that watermarks are not checked
|
||||
// thus the delimiter can be written even though the pipe is full.
|
||||
if (pending_delimiter) {
|
||||
zmq_msg_t msg;
|
||||
const unsigned char *offset = 0;
|
||||
msg.content = (void*) (offset + ZMQ_DELIMITER);
|
||||
msg.flags = 0;
|
||||
pipe->write (msg, false);
|
||||
flush ();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user