Soren Hansen 8f1b6f5872 Avoid terminating connections prematurely
While sending very large messages (far beyond what fits in a the tcp
buffer, so it takes multiple sendto system calls for it to finish),
zmq_close will close the connection regardless of ZMQ_LINGER.

In case no engine is attached, a pipe->check_read() is needed to look
for the delimiter in the pipe and ultimately trigger the pipe
termination.

However, if there *is* an engine attached, the check_read() looks ahead
and finds the delimiter and terminates the connection even though the
engine might actually still be in the middle of sending a message.

This happens because while the io_thread is still busy sending the data,
the pipe can get terminated and the io thread ends up being terminated.
2016-03-30 17:01:35 +01:00
2015-07-16 13:52:11 +02:00
2013-10-11 11:46:50 +02:00
2015-06-28 23:25:48 -05:00
2012-06-12 21:30:24 -04:00
2016-02-04 01:00:15 +01:00
2015-02-16 14:59:54 -08:00
2010-02-16 17:50:36 +01:00
2013-07-29 10:42:15 +02:00
2012-11-22 12:09:02 +09:00
2012-06-12 21:30:24 -04:00

ZeroMQ

Build Status

Welcome

The 0MQ lightweight messaging kernel is a library which extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products. 0MQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols and more.

Stable Fork

This repository is used for making stable releases. Please do not send pull requests here unless they are specifically and only for this fork. Rather, send them to libzmq/master. Issues with test cases may be back ported to this repository by its maintainers.

Building and installation

See the INSTALL file included with the distribution.

Resources

Extensive documentation is provided with the distribution. Refer to doc/zmq.html, or "man zmq" after you have installed 0MQ on your system.

Website: http://www.zeromq.org/

Development mailing list: zeromq-dev@lists.zeromq.org Announcements mailing list: zeromq-announce@lists.zeromq.org

Git repository: http://github.com/zeromq/libzmq

0MQ developers can also be found on the IRC channel #zeromq, on the Freenode network (irc.freenode.net).

Copying

Free use of this software is granted under the terms of the GNU Lesser General Public License (LGPL). For details see the files COPYING and COPYING.LESSER included with the 0MQ distribution.

Languages
C++ 84.3%
M4 4.9%
CMake 3.3%
Shell 2.5%
Makefile 2.3%
Other 2.6%