summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2011-12-17Dont wait for pending subscription commands on shutdownMartin Sustrik
When (X)SUB socket is being shut down there may be pending outbound subscription commands in the pipes. In such case we want to close the socket immediately instead of waiting for the commands to be sent. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-17Fix polling on XREP socketMartin Sustrik
When polling on XREP socket in incoming message part was prefetched, but not the identity of sender. The problem is fixed by this patch. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-16zmq_sendmsg and zmq_recvmsg checks for NULL message objectMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-15Added MSVC10 solution and project files for WindowsStuart Webster
These include configurations for both Win32 and x64 platforms. All project settings have been normalised in property sheets (the ".props" files under builds/msvc/properties) to simplify maintenance. Build artefacts are all generated in platform-specific subfolders of bin, lib and obj directories. Also enables the use of precompiled headers with MSVC10. This significantly reduces the time required to compile libzmq with Visual Studio on Windows. It should have no impact on other platforms. Signed-off-by: Stuart Webster <sw_webster@hotmail.com>
2011-12-15A synchronous connect() failure in ipc_connecter can result in AssertionMartin Lucina
failed: s == retired_fd (ipc_connecter.cpp:174), as reported in LIBZMQ-294. This patch fixes the bug, and also an identical problem in tcp_connecter which has not hit people since TCP connect() usually completes via the asynchronous code path (poll, out_event). Signed-off-by: Martin Lucina <martin@lucina.net>
2011-12-03This makes clock_t insensitive to the system clock being reset by NTP orMika Fischer
the sysadmin, which could previously cause long hangs for instance in zmq_poll. Signed-off-by: Mika Fischer <mika.fischer@zoopnet.de>
2011-11-22ENOTCONN on recv() on TCP socket is treated decently (issue 254)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-15Bug in XREP and XREQ fixed (issue 280)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-15Missing "defined" tokens addedMartin Sustrik
The missing tokens broke the build if you used -Werror -Wundef Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-14Bug concerining identity in XREQ socket fixed (issue 280)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-13Couple of bugs in XREP handling of identities fixed.Martin Sustrik
wq: Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-10Hangup in signaler creation on Windows fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-09Get AIX 6.1 compiling again by making msg_t class explicitAJ Lewis
Older versions of gcc have problems with in-line forward declarations when there's a naming conflict with a global symbol. Signed-off-by: AJ Lewis <aj.lewis@quantum.com> Expand the original patch to all such forward declarations. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-08Uninitialised FSM state in REQ session fixed (issue 278)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-06Add zmq_getmsgopt to the APIChuck Remes
The new function allows to retrieve options (flags) from zmq_msg_t. Signed-off-by: Chuck Remes <cremes@mac.com> Renamed from zmq_msg_flags to zmq_getmsgopt Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-05Bug in trie fixed (issue 277)Martin Sustrik
When there were both '0' and '255' subnodes in (mtrie) the removal of the node resulted in an infinite loop. Fixed. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-05Use identities in inproc transportMartin Sustrik
Previous patches have missed the case when the identity should be sent from an inproc endpoint. Fixed. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-04Fix getaddrinfo calls to work on OpenVMSBrett Cameron
Signed-off by: Brett Cameron <Brett.Cameron@hp.com>
2011-11-04MSVC build fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-04Merge branch 'master' of github.com:zeromq/libzmqMartin Sustrik
2011-11-04Identities re-introducedMartin Sustrik
However, the "durable socket" behaviour wasn't re-added. Identities are used solely for routing in REQ/REP pattern. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-02ZMQ_IDENTITY option re-introducedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01Copyright dates adjusted to reflect realityMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01Miru copyrights addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01LABELS and COMMANDs removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31VTCP transport removedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31250bpm copyrights addedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31Revert the early dropping of request and replies for disconnected clientsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31New style ROUTER socket removed.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@turist.(none)>
2011-10-29Corrected discarding of remainder of message when request ID invalidPerry Kundert
When zmq::req_t::xrecv detects that a response has no request ID label, or the ID is the wrong size, it would return an EAGAIN, but would not discard the remainder of the message. This could allow the remainder of the message to incorrectly "leak" into a future response, if it is crafted to look like a reply with a valid response ID. Discard all remaining message blocks, if the ID is invalid in any way.
2011-10-27Missing bracket addedBernd Prager
Signed-off: Martin Sustrik <sustrik@250bpm.com>
2011-10-27Patch for issue LIBZMQ-275. Dealing with VSM in distribution when pipes fail ↵Ben Gray
to write. Signed-off-by: Ben Gray <ben@benjamg.com>
2011-10-27Enable exceptions raising on assert on Win32Paul Betts
This patch changes the Win32 version to call RaiseException instead of abort (which eventually calls TerminateProcess). This allows crash dumps to be sent correctly instead of the process disappearing. Signed-off-by: Paul Betts <paul@paulbetts.org>
2011-10-27Enable exceptions raising on assert on Win32Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-27Merge branch 'master' of github.com:zeromq/libzmqMartin Sustrik
2011-10-27Bug in kqueue poller fixed (issue 261)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-26Added compile-time test for SOCK_CLOEXECMikko Koppanen
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-10-06Default HWMs are set to 1000Martin Sustrik
This patch is meant to prevent users from running out of memory when using 0MQ in the default configuration. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-04Re-add PGM rate limitingSteven McCoy
It was accidently lost in commit fcfad5682e, equivalent to commits 2ddb106 & b62dd40 in version 2.1. Changes semantics from TXW_MAX_RATE to ODATA_MAX_RATE. Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-09-29Use single port for creating signalers on WindowsMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-29Bug in subscription matching fixed (issue 263)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-29Make sure new ROUTER socket honours POLLIN for cmd messagesJon Dyte
Signed-off-by: Jon Dyte <jon@totient.co.uk>
2011-09-28Assert fixed in XREP & ROUTER when sending to terminating pipe (issue 258)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-26Bug in matching algorithm fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-16More bugs in mtrie fixedMartin Sustrik
Aside of fixing couple of corner cases this patch turns the 'match' function in mtrie from recursive to iterative. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-16Bug in mtrie fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-16Check message syntax in REQ asynchronouslyMartin Sustrik
This patch adds support for checking messages as they arrive (as opposed to when they are recv'd by the user) and drop the connection if they are malformed. It also uses this new feature to check for validity of inbound messages in REQ socket. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-15Session class separated into socket-type-specific sessionsMartin Sustrik
This is a preliminary patch allowing for socket-type-specific functionality in the I/O thread. For example, message format can be checked asynchronously and misbehaved connections dropped straight away. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14Minor optimisation in message distribution algorithmMartin Sustrik
If several of the outbound pipes become passive while sending a single message, the refcount on the message is adjusted once only, not multiple times. It's an atomic operation so the cost is not negligible. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14Bug in message distribution algorithm fixed (issue 251)Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>