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
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
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
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
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
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
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
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
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
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
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
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
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 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 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
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
b83d0a1bc0
Remove unnecessary conditional
...
This conditional is unnecessary as BUILD_PGM can be negated in the test.
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-11-17 15:07:59 +01:00
Mikko Koppanen
da3327cf87
Build refactoring
...
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-11-15 17:02:36 +01:00
Martin Sustrik
f77c8ca47f
Merge branch 'maint'
...
* maint:
Couple of patches for AIX build
2010-11-13 18:16:13 +01:00
Martin Sustrik
ffcb0baa73
Couple of patches for AIX build
...
- RAND_bytes function resides in crypto library
- pollfd on AIX used 'reqevents' instead of events and 'retnevents'
instead of 'revents'
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-13 18:08:18 +01:00
Chia-liang Kao
a2500ae348
Fix a bug that zmq_poll's select backend spins when timeout=-1, due to
...
ptimeout not properly recalculated after first pass.
Signed-off-by: Chia-liang Kao <clkao@clkao.org>
2010-11-12 19:16:00 +01:00
Martin Sustrik
8abe67357a
Merge branch 'maint'
...
* maint:
Fix socket_t::recv() hang scenario where initial call to process_commands() eats signal
Conflicts:
src/socket_base.cpp
2010-11-12 14:47:26 +01:00