0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-17 04:50:57 +08:00

1264 Commits

Author SHA1 Message Date
Martin Sustrik
7045a4a213 Dead code removed from named_session.cpp
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-15 13:11:20 +01:00
Martin Sustrik
f987f4b3e2 FreeBSD complation error fixed
There was an error in pgm_receiver wrt strict aliasing.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-14 20:29:00 +01:00
Martin Sustrik
2970d6c30b Remove obsolete assert from pgm_socket.cpp
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-14 07:11:30 +01:00
Guido Goldstein
d0c8edde35 Added missing close method w/ check if socket is already closed.
Signed-off-by: Guido Goldstein <github@a-nugget.de>
2011-03-12 17:16:27 +01:00
Martin Sustrik
7b95c5920c Windows build fixed
Compilation of ip.cpp have failed because EPROTONOSUPPORT
was undefined. Including zmq.h should help as the error
code is defined there.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-09 16:34:37 +01:00
Brett Cameron
b00be2651c Different fixed to make OpenVMS port work.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-08 14:39:52 +01:00
Martin Sustrik
184bdb8e2b Bug caused by interaction of REQ/REP routing and HWM fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-03 12:37:11 +01:00
Martin Sustrik
97add1ec2f Documentation wrt thread-safety cleaned up.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-03 12:15:08 +01:00
Martin Sustrik
18b9ebea32 The copyrights in file headers updated.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02 16:30:40 +01:00
Martin Sustrik
5fcef1cac4 ZMQ_MAXMSGSIZE option added
The new option allows user to guard against peers sending
oversized messages. Connection to peer sending oversized message
is dropped.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-02 09:00:36 +01:00
Martin Sustrik
4c7446211a Explicit identities bug in inproc transport fixed.
The identity of bound socket was not used. Instead, transient
identity was generated.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-03-01 16:08:40 +01:00
Martin Sustrik
67b1f14190 Memory leak in PUB/XPUB sockets fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-26 08:42:20 +01:00
Martin Sustrik
d4e418f5f4 Socket with no owner objects is deallocated immediately
Till now the deallocation of such socket was delayed
till zmq_term() thus creating a "leak".

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-25 08:58:01 +01:00
Martin Sustrik
c22e52737a Minor patch to zmq_getsockopt(3) man page
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-24 16:57:53 +01:00
Martin Sustrik
29e0e7dbad Incorrect PGM sender/receiver creation fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-23 11:48:49 +01:00
Martin Sustrik
820fec7f28 Version bumped to 2.2.0
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-22 21:43:52 +01:00
Martin Sustrik
43e8868875 Added explicit error message in case of memory exhaustion
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-22 16:23:36 +01:00
Mikko Koppanen
98ccff1a24 Fixes build on at least CentOS 5
Signed-off-by: Mikko Koppanen <mikko.koppanen@gmail.com>
2011-02-21 23:40:48 +01:00
Martin Sustrik
0eea93526d Fix for memory leak caused by long identities
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-21 17:49:12 +01:00
Martin Sustrik
5c0931121b Computation of buffer size for PGM fixed.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-21 11:22:54 +01:00
Martin Sustrik
12486fecc4 Fix MSVC and SunStudio builds with OpenPGM
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-18 17:57:59 +01:00
Martin Sustrik
17e2ca71b4 Logging of duplicit identities added
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-18 14:15:10 +01:00
Martin Sustrik
1f536b2d38 Init object is child of listener
This means that all the handshaking while accepting incoming
connection is done exclusively in I/O threads, thus it won't
overload the application thread's mailbox.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-17 14:20:19 +01:00
Martin Sustrik
28f3e87fc6 Add delay before reconnecting
So far ZMQ_RECONNECT_IVL delay was used only when TCP connect
failed. Now it is used even if connect succeeds and the peer
closes the connection afterwards.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-17 10:33:38 +01:00
Michael Compton
fbe5d859f4 Added note regarding setting sockopt before bind/connect
Signed-off-by: Michael Compton <michael.compton@littleedge.co.uk>
2011-02-15 09:33:19 +01:00
Martin Sustrik
ba26cc9938 Build problem with OpenPGM and MSVC fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-13 10:07:10 +01:00
Pieter Hintjens
14a0e147b2 Fixed win32 issue with WSAStartup
- ctx constructor was calling mailbox_t constructor implicitly
 - moved WSAStartup and WSACleanup to be outside constructor/destructor

Signed-off-by: Pieter Hintjens <ph@imatix.com>
2011-02-12 18:36:21 +01:00
Martin Sustrik
e94790006e reaper added to MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09 22:33:57 +01:00
Martin Sustrik
5b82b1ba30 Reaper thread waits for commands rather them retrieving them periodically
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09 22:23:21 +01:00
Martin Sustrik
80ac398bba Initial implementation of reaper thread.
Reaper thread destroys the socket asynchronously.
zmq_term() can be interrupted by a signal (EINTR).
zmq_socket() will return ETERM after zmq_term() was called.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09 15:32:15 +01:00
Martin Sustrik
889424e675 max_sockets honoured precisely
The internal log socket was subtracted from the number of
available sockets. So, if max_sockets was set to 100,
you could create only 99 sockets. Fixed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-08 16:19:37 +01:00
Martin Sustrik
5dcbc34396 zmq_poll with no fds behaves decently
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-08 14:46:27 +01:00
Mikko Koppanen
908b39bf83 m4_esyscmd_s doesnt seem to be portable across different systems
Signed-off-by: Mikko Koppanen <mikko.koppanen@gmail.com>
2011-02-07 15:06:20 +01:00
Martin Sustrik
c8e5be87d8 test-hwm added to .gitignore
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-05 15:04:15 +01:00
Chris Rempel
4efead1bbb Fixed autogen.sh warnings on Debian 6 systems.
Signed-off-by: Chris Rempel <csrl@gmx.com>

Please enter the commit message for your changes. Lines starting
2011-02-05 14:42:21 +01:00
Thijs Terlouw
042e34a5d9 operator void* () added to context_t.
Makes it possible to share the context from C++ to C.

Signed-off-by: Thijs Terlouw <thijsterlouw@gmail.com>
2011-02-04 16:44:13 +01:00
Martin Sustrik
3f758ab2f4 Don't use RLIMIT_NOFILES in devpoll_t.
The patch allows for running 0MQ on Solaris and HP-UX
even though ulimit for max number of file descriptors
is set to unlimited.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-03 09:59:54 +01:00
Martin Sustrik
ca1acc340c RLIMIT_NOFILE not used in poll_t anymore
The problem was that RLIMIT_NOFILE can be set to RLIM_INIFINITY
(and that appears to be default on AIX) which caused 0MQ to fail.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-03 08:46:04 +01:00
Mikko Koppanen
1e0302633e Added WithOpenPGM configuration into MSVC builds
Signed-off-by: Mikko Koppanen <mikko.koppanen@gmail.com>
2011-01-30 12:43:17 +01:00
Mikko Koppanen
72d320366f Added test for HWM
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-01-30 11:51:30 +01:00
Martin Sustrik
1b15eba9a9 Fixed the problem of subscription forwarding and PGM interaction
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-28 07:50:21 +01:00
Thijs Terlouw
f7f1dfc86d ZMQ_RECONNECT_IVL_MAX socket option added
It allows for exponential back-off strategy when reconnecting.

Signed-off-by: Thijs Terlouw <thijsterlouw@gmail.com>
2011-01-26 07:01:06 +01:00
Mikko Koppanen
8e61a11b39 Do not execute ipc tests under MinGW
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-01-20 22:13:01 +01:00
Mikko Koppanen
8561a55d2c Remove unnecessary visibility pragmas
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2011-01-20 22:12:25 +01:00
Dhammika Pathirana
c91bf25645 Fix handle connection reset during session init
Patch to handle nmap version probes.

Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2011-01-20 07:52:40 +01:00
Martin Sustrik
56bdba592c Fix cppcheck warnings: Prefer prefix ++/-- operators for non-primitive types.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-18 15:57:45 +01:00
Martin Sustrik
b262f2fe9b Typo fixed in zmq_send(3) man page.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-17 14:51:01 +01:00
Steven McCoy
667b247e32 Cancel pending timers when decoder for PGM stalls
Otherwise the timer event can raise an input event
causing assertion on unprocessed data.

Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2011-01-17 14:45:24 +01:00
Martin Sustrik
a249d15200 Fix MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-15 20:16:00 +01:00
Martin Sustrik
59fa0c9b46 Gerard Toonstra added to the authors file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-14 12:41:12 +01:00
Martin Sustrik
a348d94c09 Fair queueing of subscriptions added to XPUB socket
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-14 12:38:07 +01:00
Martin Sustrik
58c9830d90 XSUB socket has a subscription distributor
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-14 12:25:54 +01:00
Martin Sustrik
8eae7d8507 'message distribution mechanism' separated from XPUB socket
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-14 12:05:10 +01:00
Martin Sustrik
18f29ded6a Make cppcheck not complain about "'operator=' should return something"
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-13 11:44:23 +01:00
Neale Ferguson
7051387108 Support dynamic generation of C preprocessor definitions for PGM rather than hardcoding them.
Signed-off-by: Neale Ferguson <neale@sinenomine.net>
2011-01-12 09:22:25 +01:00
Martin Sustrik
725ebce13c Version bumped to 2.1.1
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-11 21:12:51 +01:00
Martin Sustrik
bd0ba6e89a Size of inproc hwm and swap is sum of peers' hwms and swaps
The meat of the patch was contributed by Douglas Creager.
Martin Sustrik implemented storing peer options in inproc
endpoint repository.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-10 13:53:30 +01:00
Dhammika Pathirana
babdf48aac Fix pipe writer termination
Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2011-01-07 13:28:35 +01:00
Martin Sustrik
8e0049e2fb Disable sending messages on SUB socket
The ability was inherited from XSUB socket.
Now it's properly disabled.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-07 12:59:48 +01:00
Min Ragan-Kelley
08cd2ce05d resolve "function declaration isn't a prototype"
change two declarations in headers to form f(void); instead of f();
which eliminates the warnings when compiling against zeromq

Signed-off-by: MinRK <benjaminrk@gmail.com>
2011-01-06 08:42:57 +01:00
Martin Sustrik
472bdcd6b4 Return ETERM from getsockopt(ZMQ_EVETS) if zmq_term() was called
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-05 16:57:51 +01:00
Martin Sustrik
95eebbfffa sunos/gcc3 compilation issue fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-01-03 20:50:24 +01:00
Martin Sustrik
51d2d9b9f8 Yet one more fix for oversized messages.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-20 13:06:36 +01:00
Martin Sustrik
112d0cd52e Fix the segfault when over-sized message is rejected.
The in_progress message inside of decoder was left
uninitialised in such a case.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-20 11:47:41 +01:00
Mikko Koppanen
cbbb1e925d Fix passing through CFLAGS/CPPFLAGS/CXXFLAGS when using --enable-debug
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-18 12:13:10 +01:00
Martin Sustrik
d15e881ea0 unplugged engine tries to manipulate the pollset -- fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-17 16:30:42 +01:00
Dhammika Pathirana
b19ee99bb1 fix race condition in session init
Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2010-12-17 15:30:56 +01:00
Mikko Koppanen
27e83cc525 Fixes assertion on pipe.cpp:237 when swap fills up.
Fixes swap::full () functionality

Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-15 20:10:27 +01:00
Mikko Koppanen
a46980babe Remove assertions from devices
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-15 14:41:18 +01:00
Dhammika Pathirana
f749f2d21c add basic uri validations
Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2010-12-13 15:40:26 +01:00
Dhammika Pathirana
22b2b9a2b6 fix overwriting errno on bind failure
Signed-off-by: Dhammika Pathirana <dhammika@gmail.com>
2010-12-13 14:18:47 +01:00
Martin Sustrik
a9d969a73e Bob Beaty added to the AUTHORS file
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-09 21:44:15 +01:00
Bob Beaty
fcfad5682e Added Recovery Interval in Milliseconds
For very high-speed message systems, the memory used for recovery can get to
be very large. The corrent limitation on that reduction is the ZMQ_RECOVERY_IVL
of 1 sec. I added in an additional option ZMQ_RECOVERY_IVL_MSEC, which is the
Recovery Interval in milliseconds. If used, this will override the previous
one, and allow you to set a sub-second recovery interval. If not set, the
default behavior is to use ZMQ_RECOVERY_IVL.

Signed-off-by: Bob Beaty <rbeaty@peak6.com>
2010-12-09 21:42:58 +01:00
Mikko Koppanen
1d81d2f1d4 tar doesn't accept -C flag on solaris while extracting
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-07 11:15:51 +01:00
Mikko Koppanen
a3353150f8 Fix werror flag store/restore
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-07 11:15:18 +01:00
Mikko Koppanen
aed2eeafdc Fix visibility on rhel4
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-07 11:14:46 +01:00
Martin Lucina
9bb5323a1a Clarify zmq_send() operation for ZMQ_PUB sockets
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-12-07 11:10:21 +01:00
Martin Sustrik
73bbcb552d MSVC build fixed
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-06 23:10:50 +01:00
Martin Sustrik
8d6cafe066 All devices conflated into a single implementation.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-06 22:57:29 +01:00
Martin Sustrik
ec61751e17 options.type correctly set for PUB/SUB/XPUB/XSUB
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-06 22:36:10 +01:00
Martin Sustrik
8a6ff4ccd2 xup and xsub files added to the MSVC build
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-06 09:44:23 +01:00
Martin Sustrik
2daa0bb49d XSUB accepts (un)subscriptions in form of messages.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-05 09:48:52 +01:00
Martin Sustrik
c80e7b80cc XPUB and XSUB socket types added.
These are just placeholders. At the moment XPUB behaves th same
as PUB and XSUB as SUB.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-04 23:14:38 +01:00
Martin Lucina
abc8b5e40c Update NEWS file for 2.1.0 release
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-12-01 11:55:56 +01:00
Steven McCoy
4a3ed39a22 Bump OpenPGM to 5.0.92.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2010-12-01 11:52:05 +01:00
Martin Lucina
520d621016 Bump ABI version to 1:0:0 for ZeroMQ 2.1.0 release
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-12-01 11:11:25 +01:00
Martin Lucina
b70d628fad Documentation updates for 2.1
- Clarify ZMQ_LINGER, zmq_close (), zmq_term () relationship
- New socket options
- Clarify thread safety of sockets and migration between threads
- Other minor and spelling fixes

Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-12-01 10:57:37 +01:00
Mikko Koppanen
5bb0a339be Prefix variables with "ac_zmq_"
- Added a macro for checking clang compiler
 - Moved basic compiler checks to a macro
 - Added a macro for checking if compiler supports a flag
 - Added --enable-debug flag
 - Added a macro for running normal autoconf check with compiler flags
 - Added a macro for checking for verbose flag for different compilers (-Wall)
 - Added a macro for turning on strict standards compliance
 - Added a macro for turning warnings to errors
 - Added a macro for checking if compiler supports given pragma
 - Most of the flags now go through checks if the compilers supports them
   rather than enumerating different compilers
 - Added DSO symbol visibility for sun compiler
 - Enabled verbose mode for sun compiler
 - Fixed build for ICC 12.x by adding -wd279 to size_t checks
 - Removed pkg-config checks as those don't seem to be used anywhere

Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-12-01 10:33:07 +01:00
Martin Sustrik
17d7e6ede0 Merge branch 'maint'
* maint:
  Remove unnecessary cast in kevent_delete

Conflicts:
	src/kqueue.cpp

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-12-01 10:27:24 +01:00
Martin Lucina
289b1f5ced Remove unnecessary cast in kevent_delete
Fixes the build on NetBSD where the compiler complains about casting NULL
to (int).

Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-12-01 10:25:31 +01:00
Steven McCoy
28db150aaf Fix thread thunker scope for MSVC.
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2010-11-29 10:52:22 +01:00
Martin Sustrik
325dd2f091 Functions passed to pthread_create are declared as extern "C"
So far these were declared as C++ static functions which
was incorrect and caused warnings with SunStudio.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-27 22:19:43 +01:00
Martin Sustrik
0bc2a05d84 .gitignore modified to ignore test executables
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-27 12:51:43 +01:00
Martin Lucina
c9584096e0 Control symbol exports using -fvisibility
On systems using GCC 4.0 or newer which support symbol visibility in shared
libraries, use -fvisibility=hidden and only export explict API functions
defined in zmq.cpp. We do not enable -fvisibility on MinGW since this uses a
separate mechanism (__declspec).

Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-11-25 17:12:31 +01:00
Martin Sustrik
734624be76 Typo fixed in a comment.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-25 14:05:43 +01:00
Sebastian Otaegui
92618fd99a Small fix for the rhel6 spec
Signed-off-by: Sebastian Otaegui <feniix@gmail.com>
2010-11-25 14:04:53 +01:00
Martin Sustrik
a689047de0 Merge branch 'maint'
* maint:
  Mikko Koppanen becomes a maintainer of the build system.
2010-11-22 16:07:15 +01:00
Martin Sustrik
83d9af9951 Mikko Koppanen becomes a maintainer of the build system.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-22 16:06:20 +01:00
Martin Sustrik
ac40680ea2 Problem with blob_t initialisation fixed.
HP's version of STL doesn't allow for initialisation of basic_string
(blob_t) using NULL pointer, while SGI's implementation is OK with
that. Fixed.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-19 12:35:06 +01:00
Mikko Koppanen
edf7c18d79 Add a check that the compiler actually works.
The patch tests that the C and C++ compilers actually exist
and work. autoconf seems to default to 'g++' when C++ compiler is not
found, which causes the following error (when the compiler isn't
there):

checking for uuid_generate in -luuid... no
configure: error: cannot link with -luuid, install uuid-dev.

The config.log contains the real error message "g++ command not found"
but the error message shown to the user is misleading.

Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-11-19 09:10:26 +01:00