0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-22 15:56:14 +08:00

1390 Commits

Author SHA1 Message Date
Pieter Hintjens
7e8a839a22 Merge pull request #226 from gitfoxi/master
Support Epoll on cross-compile without runtime test.
2012-01-27 16:01:20 -08:00
m
1e5a48f521 Epoll is default for cross-compile. For regular-compile, test kernel (run) support. 2012-01-27 15:24:47 -08:00
Pieter Hintjens
281dcd2544 Merge pull request #221 from fidlej/master
Updated connector open() doc strings.
2012-01-27 14:48:43 -08:00
Pieter Hintjens
676d4f4e18 Merge pull request #222 from gimaker/trie-pruning
Fix for LIBZMQ-305
2012-01-27 14:48:17 -08:00
Pieter Hintjens
0c94cd036a Merge pull request #223 from gimaker/libzmq-310
Throw away unexpected data received by XPUB sockets, rather than asserting
2012-01-27 14:47:36 -08:00
Pieter Hintjens
95f6a07403 Merge pull request #224 from vortechs2000/master
Patch from Mikko Koppanen for #LIBZMQ-301
2012-01-27 14:47:14 -08:00
Pieter Hintjens
57f64c5079 Merge pull request #225 from gitfoxi/master
Fix build on old-ass Linux
2012-01-27 14:44:42 -08:00
m
c71375ea72 Fix: Case where system library has epoll but kernel does not support it. 2012-01-27 13:27:21 -08:00
m
c4f2240851 Fix: runtime patch for when system has clock_gettime but does not support CLOCK_MONOTONIC. 2012-01-27 12:40:56 -08:00
m
b5dbff8ed4 Fix basic_string<unsigned char> not implemented in stdc++ 3 2012-01-27 12:24:14 -08:00
m
99df984be1 Fix bad combination of gcc3, -Werror and private destructor. 2012-01-27 12:23:32 -08:00
Staffan Gimåker
bc4d1b6002 Fixed segfault bug sometimes happening when pruning the trie/mtrie.
The cause behind the segfault was next.node being deleted but count still
being non-zero.

Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-26 14:12:11 +01:00
AJ Lewis
2e0c4330fa Patch from Mikko Koppanen for #LIBZMQ-301
Add the '-Ae' flag and check for gethrtime() on HPUX

Check if CLOCK_MONOTONIC defined before using it - if not, use
gethrtime() if it's available, otherwise fall back to the old
behavior.

Signed-off-by: AJ Lewis <aj.lewis@quantum.com>
2012-01-19 13:09:23 -06:00
Staffan Gimåker
36215656eb Throw away unexpected data received by XPUB sockets, rather than asserting.
Fixes LIBZMQ-310.

Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-09 12:19:59 +01:00
Staffan Gimåker
19129edc60 Prune redundant nodes in the trie.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-03 16:24:44 +01:00
Staffan Gimåker
6fa9ffebe5 Prune redundant nodes in the mtrie.
Signed-off-by: Staffan Gimåker <staffan@spotify.com>
2012-01-03 16:24:16 +01:00
Ivo Danihelka
1d8b132d36 Updated connector open() doc strings.
Signed-off-by: Ivo Danihelka <ivo@danihelka.net>
2011-12-21 16:33:16 +01:00
Martin Sustrik
6f32361fea Version bumped to 3.1.1
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-19 15:43:38 +01:00
Martin Sustrik
dcb1d558a5 Fix MSVC10 build distfiles
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
v3.1.0
2011-12-18 12:30:31 +01:00
Martin Sustrik
3bf7860fb7 NEWS updated for 3.1.0 release
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-18 11:41:45 +01:00
Martin Lucina
22ef966d4a Update email address in man pages
Signed-off-by: Martin Lucina <martin@lucina.net>
2011-12-18 11:19:55 +01:00
Martin Lucina
183e126364 Fix typo in zmq_sendmsg(3) manual page
Signed-off-by: Martin Lucina <martin@lucina.net>
2011-12-18 11:12:44 +01:00
Martin Sustrik
3fbe8ac3c3 Dont wait for pending subscription commands on shutdown
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-17 23:42:45 +01:00
Martin Sustrik
91fdedf25c Fix polling on XREP socket
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-17 10:14:32 +01:00
Martin Sustrik
f9eb763293 zmq_sendmsg and zmq_recvmsg checks for NULL message object
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-16 07:04:38 +01:00
Stuart Webster
3fb5c11b03 Added MSVC10 solution and project files for Windows
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-15 14:03:43 +01:00
Martin Lucina
a9e03336b0 A synchronous connect() failure in ipc_connecter can result in Assertion
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-15 13:23:40 +01:00
Martin Sustrik
e7d748e812 Mika Fischer added to AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-03 13:27:20 +01:00
Martin Sustrik
0df86c41b5 rt library required on all platforms
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-12-03 13:25:44 +01:00
Mika Fischer
aaac96d94a This makes clock_t insensitive to the system clock being reset by NTP or
the sysadmin, which could previously cause long hangs for instance in
zmq_poll.

Signed-off-by: Mika Fischer <mika.fischer@zoopnet.de>
2011-12-03 13:07:30 +01:00
Martin Sustrik
fc17bd4117 ENOTCONN on recv() on TCP socket is treated decently (issue 254)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-22 14:48:35 +01:00
Martin Sustrik
daac9ac5b2 Phillip Kovacs added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-21 08:11:33 +01:00
Philip Kovacs
bf9062902c Fix broken VPATH/parallel builds
Signed-off-by: Philip Kovacs <phil@philkovacs.com>
2011-11-21 08:10:03 +01:00
Martin Sustrik
5c1a91e33e Stuart Webster added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-19 10:06:06 +01:00
Stuart Webster
a610b3d1b4 Line-ending conversion rules for hg-git users and enabled use of .gitignore by hg-git users
Mercurial does not have built-in support for converting line-endings. This is a
settings file for hg eol (http://mercurial.selenic.com/wiki/EolExtension), an
extension that replicates the behaviour of git with core.autocrlf=true.

Mercurial uses Python regex syntax by default in its .hgignore files. Adding
this line to .gitignore overrides that setting, so hg-git users can just create
a hardlink to it (e.g "mklink /H .hgignore .gitignore" on Windows) to use it.

Signed-off-by: Stuart Webster <sw_webster@hotmail.com>
2011-11-19 10:02:23 +01:00
Martin Sustrik
f8bd3967bf Documentation for IPv4ONLY option clarified
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-16 19:49:31 +01:00
Martin Sustrik
5a6503e5c2 Bug in XREP and XREQ fixed (issue 280)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-15 13:56:59 +01:00
Martin Sustrik
83975c1b21 Missing "defined" tokens added
The missing tokens broke the build if you used -Werror -Wundef

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-15 08:40:46 +01:00
Martin Sustrik
21bca4dbe4 Bug concerining identity in XREQ socket fixed (issue 280)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-14 11:15:20 +01:00
Martin Sustrik
1c239708ab Couple of bugs in XREP handling of identities fixed.
wq:
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-13 10:33:49 +01:00
Martin Sustrik
f8b0055026 Hangup in signaler creation on Windows fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-10 23:38:08 +01:00
Martin Sustrik
a7b0b0d3dc AUTHORS file changed
- AJ Lewis added
- Martin Lucina's email address changed

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-09 15:41:51 +01:00
Martin Lucina
27524908c1 Set libzmq ABI version to 3
libzmq master (3.1) is not ABI compatible with libzmq 2.1.x or 3.0 (removed
functionality), hence the ABI version needs to be set to 3.

Signed-off-by: Martin Lucina <martin@lucina.net>
2011-11-09 15:39:33 +01:00
AJ Lewis
c79abee6bc Get AIX 6.1 compiling again by making msg_t class explicit
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-09 15:22:20 +01:00
Martin Sustrik
89962a8256 Uninitialised FSM state in REQ session fixed (issue 278)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-08 14:49:15 +01:00
Martin Sustrik
11e31988e1 Chuck Remeas added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-06 14:09:20 +01:00
Chuck Remes
93529d8c5d Add zmq_getmsgopt to the API
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-06 14:03:51 +01:00
Martin Sustrik
bb66f3cc3b Bug in trie fixed (issue 277)
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-05 16:05:18 +01:00
Martin Sustrik
6503716203 Minor typo corrected
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-05 11:38:50 +01:00
Martin Sustrik
fe81827bd0 Version changed to 3.1.0
This version downgrade is done because of the previous refatoring.
It removed all the new features and reintroduced some of the old
ones (identities). Thus, it made trunk much closer to existing 3.0
branch than it used to be.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-05 10:18:38 +01:00
Martin Sustrik
21a0b49834 Obsolete ECANTROUTE errror code removed
This error code was used only by new-style ROUTER socket
which is not a part of the codebase.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-05 10:10:44 +01:00
Martin Sustrik
a756956781 Use identities in inproc transport
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-05 09:57:17 +01:00
Brett Cameron
de1d32daae Fix getaddrinfo calls to work on OpenVMS
Signed-off by: Brett Cameron <Brett.Cameron@hp.com>
2011-11-04 14:15:06 +01:00
Martin Sustrik
50a9ee6e73 MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-04 10:02:49 +01:00
Martin Sustrik
05ce301f35 Merge branch 'master' of github.com:zeromq/libzmq 2011-11-04 09:48:25 +01:00
sustrik
6cdd720400 Merge pull request #220 from 250bpm/HEAD
Refactoring
2011-11-04 02:15:37 -07:00
Martin Sustrik
e9c3a227a7 Linking exception corrected
Correctly states 'copyright holders' instead of 'iMatix'.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-04 08:05:39 +01:00
Martin Sustrik
a4843b65d2 Identities re-introduced
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-04 08:00:47 +01:00
Martin Sustrik
d20ea25b8c ZMQ_IDENTITY option re-introduced
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-02 14:33:58 +01:00
Martin Sustrik
8e21d64c97 Copyright dates adjusted to reflect reality
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 18:06:11 +01:00
Martin Sustrik
8a0f5f7650 Miru copyrights added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 14:46:18 +01:00
Martin Sustrik
1c071f54a6 LABELs removed from the documentation
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 14:09:54 +01:00
Martin Sustrik
7563518929 Tests print their name before running
This makes finding out which test have hung-up easier.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 13:54:28 +01:00
Martin Sustrik
7842c71073 LABELS and COMMANDs removed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-11-01 13:39:54 +01:00
Martin Sustrik
626099aa2a VTCP transport removed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 16:37:20 +01:00
Martin Sustrik
ac7717b7b3 250bpm copyrights added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 16:20:30 +01:00
Martin Sustrik
4b832ea374 Revert the early dropping of request and replies for disconnected clients
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 15:56:39 +01:00
Martin Sustrik
9227c38933 ROUTER and DEALER are aliases for XREP and XREQ
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-31 15:51:11 +01:00
Martin Sustrik
dee8b2360a New style ROUTER socket removed.
Signed-off-by: Martin Sustrik <sustrik@turist.(none)>
2011-10-31 15:44:42 +01:00
Martin Sustrik
541b83bc02 Perry Kundert added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-29 14:49:08 +02:00
Perry Kundert
09574a6104 Corrected discarding of remainder of message when request ID invalid
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-29 14:47:53 +02:00
Bernd Prager
52bab42212 Missing bracket added
Signed-off: Martin Sustrik <sustrik@250bpm.com>
2011-10-27 17:11:28 +02:00
Martin Sustrik
9b3e61a178 Ben Gray added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-27 14:02:57 +02:00
Ben Gray
9e000c8f26 Patch for issue LIBZMQ-275. Dealing with VSM in distribution when pipes fail to write.
Signed-off-by: Ben Gray <ben@benjamg.com>
2011-10-27 13:59:54 +02:00
Martin Sustrik
68ab5f87ed Paul Betts added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-27 11:51:23 +02:00
Paul Betts
1b706ac028 Enable exceptions raising on assert on Win32
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-27 11:48:58 +02:00
Martin Sustrik
a8362abf11 Enable exceptions raising on assert on Win32
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-27 11:21:01 +02:00
Martin Sustrik
a70bea01cc Merge branch 'master' of github.com:zeromq/libzmq 2011-10-27 10:37:31 +02:00
Martin Sustrik
b3cda2ad60 Bug in kqueue poller fixed (issue 261)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-10-27 09:41:48 +02:00
Mikko Koppanen
6c1b50cfab Added compile-time test for SOCK_CLOEXEC
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-10-26 11:26:00 +02:00
Martin Sustrik
d31792e652 Default HWMs are set to 1000
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-06 13:12:49 +02:00
Steven McCoy
f5f1a8b184 New upstream OpenPGM maintenance release 5.1.118.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-10-04 09:39:55 +02:00
Steven McCoy
cc5d31605f Re-add PGM rate limiting
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-10-04 09:32:02 +02:00
Martin Sustrik
81da391e7e Use single port for creating signalers on Windows
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-29 14:47:41 +02:00
Martin Sustrik
7a10bbe77a Bug in subscription matching fixed (issue 263)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-29 11:35:31 +02:00
Jon Dyte
34b114d15d Make sure new ROUTER socket honours POLLIN for cmd messages
Signed-off-by: Jon Dyte <jon@totient.co.uk>
2011-09-29 09:07:03 +02:00
Martin Sustrik
8485a5e5a4 Assert fixed in XREP & ROUTER when sending to terminating pipe (issue 258)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-28 08:03:14 +02:00
Martin Sustrik
d726120e60 Bug in matching algorithm fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-26 14:02:31 +02:00
Martin Sustrik
25cc25e9ad MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-18 10:19:08 +02:00
Martin Sustrik
e170136a2e More bugs in mtrie fixed
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-16 16:34:28 +02:00
Martin Sustrik
5936379b29 Bug in mtrie fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-16 15:02:52 +02:00
Martin Sustrik
06bdf2c4f9 Check message syntax in REQ asynchronously
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-16 09:29:43 +02:00
Martin Sustrik
f78d9b6bfc Session class separated into socket-type-specific sessions
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-15 10:00:23 +02:00
Martin Sustrik
78b02d142e Minor optimisation in message distribution algorithm
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-14 15:16:48 +02:00
Martin Sustrik
cf499ee016 Bug in message distribution algorithm fixed (issue 251)
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14 14:31:09 +02:00
Martin Sustrik
42737f0918 test_invlid_rep added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-14 14:24:59 +02:00
Mikko Koppanen
8f8bfcaba0 Fixed issue with req assertions (issue 252)
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-13 16:27:07 +02:00
Mikko Koppanen
e191e806ea Fix polling system detection on mingw32 build
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-06 08:51:23 +02:00
Mikko Koppanen
9d0e122bfa Added option to choose internal polling system
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-09-04 10:28:15 +02:00
Martin Sustrik
193fa1c079 Accept square brackets around IPv6 address
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-09-03 10:19:08 +02:00