Martin Sustrik
17b0785744
Destructor of poller_base_t made virtual.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-15 11:29:20 +02:00
Mikko Koppanen
3e74a439c4
Cast execute_timers() result to int
...
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-10-15 11:21:56 +02:00
Martin Sustrik
b64b50ae21
Timers correctly canceled by PGM engines on shutdown.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-15 10:58:19 +02:00
Mikko Koppanen
e288f7a347
Fixes build on Linux using Sun Studio compiler
...
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-10-15 10:43:22 +02:00
Mikko Koppanen
e33e4d7650
ICC related qualifier fix
...
Signed-off-by: Mikko Koppanen <mkoppanen@php.net>
2010-10-15 10:38:09 +02:00
Martin Pales
03a18c27ac
zmq::clock_t : return correct value in rdtsc() on solaris
...
Function clock_t::rdtsc() now returns correct value when compiled
with sunstudio 12 compiler.
Signed-off-by: Martin Pales <m.pales@gmail.com>
2010-10-14 16:31:58 +02:00
Gonzalo Diethelm
26d7669464
Added bin directory to ignore list.
2010-10-14 08:02:43 -03:00
Martin Sustrik
b7386f5b50
To insert to associateive STL containers value_type used instead of make_pair
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-14 12:13:52 +02:00
Martin Pales
f9e6d94be5
zmq::poller_base_t : workaround for sunstudio compiler in add_timer()
...
A minor workaround to resolve compilation error with sunstudio compiler,
which does not yet support member templates for std::multimap.
Signed-off-by: Martin Pales <m.pales@gmail.com>
2010-10-14 12:02:05 +02:00
Martin Sustrik
cafcdbbe2b
Safety measure in zmq_msg_close implemented
...
zmq_msg_close now empties the message on zmq_msg_close, thus not
leaving random data in the structure, that may be mistaken for
a valid message.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-14 09:34:09 +02:00
Martin Sustrik
b174ad2c45
zmq_poll man page fixed to reflect the precise timeout semantics.
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-14 09:16:49 +02:00
Martin Pales
da73b7c6f6
zmq::devpoll_t : correct a typo in loop()
...
A minor typo correction to resolve compilation error on Solaris.
Signed-off-by: Martin Pales <m.pales@gmail.com>
2010-10-14 08:38:11 +02:00
Martin Sustrik
e2167cecae
Precise timouts in zmq_poll implemented
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-13 21:39:20 +02:00
Martin Sustrik
9d96e0037a
Clean-up of the code related to attaching/detaching engines to sessions.
...
Session base class now handles the engine events exclusively. It notifies
derived session types using dedicated "attached" and "detached" events.
Couple of bugs was fixed along the way.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-13 10:09:46 +02:00
Martin Sustrik
5ae878b891
Merge branch 'maint'
...
* maint:
Add support for RHEL6 in the spec file
2010-10-13 08:01:13 +02:00
Sebastian Otaegui
2568947a71
Add support for RHEL6 in the spec file
...
Signed-off-by: Sebastian Otaegui <feniix@gmail.com>
2010-10-13 07:59:50 +02:00
Martin Sustrik
954d7f743d
Avoid duplicate creation of pipes for a single session
...
When a session is being closed down its inbound and outbound
pipe pointers are set to null. If (re) connection happens at
that time, session may try to reinistantiate the pipes which
is wrong. This patch allows session to attach pipes only once
in its lifetime.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-12 17:55:09 +02:00
Steven McCoy
c6d74e0a03
Drop PGM parameters to 100mb friendly range.
...
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2010-10-12 12:26:21 +02:00
Steven McCoy
5b8af52efc
Fix assertion in PGM transports on cancel_timer
...
Signed-off-by: Steven McCoy <steven.mccoy@miru.hk>
2010-10-11 17:59:58 +02:00
Martin Sustrik
e168173162
Merge branch 'maint'
...
* maint:
configure.in: Do not patch libtool rpath handling
Fixing the Red Hat packaging
2010-10-11 16:42:10 +02:00
Martin Lucina
57428db898
configure.in: Do not patch libtool rpath handling
...
For historic reasons (mainly compatbility with really old libtool), configure was
patching libtool to not use rpath in binaries. This breaks (among other things)
correct operation of "make check" since the test binaries may not be run with
the correct shared library version.
Current best practice as seen e.g. at http://wiki.debian.org/RpathIssue suggests
that this is no longer an issue, so I'm removing the code that patches libtool.
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-10-11 16:39:48 +02:00
Martin Sustrik
6cd0867f02
Fixing the Red Hat packaging
...
When adding ZMQ_VERSION macros, I incorrectly removed
the PACKAGE_VERSION macro. Adding it back.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-11 16:32:27 +02:00
Martin Sustrik
f22e85f19f
Reverting commit 1d431190f50c86f62460
...
The patch was supposed to check that pipe writer sends messages
in atomic fashion. However, it prevented the user to read
half of a message and close the socket.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-11 12:23:18 +02:00
Martin Sustrik
73e7ef37c2
When XREP silently drops message, it does not empty it -- fixed
...
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-10 09:23:37 +02:00
Christian Gudrian
f5030a93a5
Execute the timers before pollset initialisation.
...
Since executing the timers might modify the source pollsets we have
to defer the initialisation until after the timers have executed.
Signed-off-by: Christian Gudrian <christian.gudrian@fluidon.com>
2010-10-09 19:19:50 +02:00
Martin Sustrik
318cdd1f24
Merge branch 'maint'
...
* maint:
Version macros added
Conflicts:
builds/msvc/platform.hpp
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-09 08:03:58 +02:00
Martin Sustrik
ef8db789a1
Version macros added
...
Macro ZMQ_VERSION represents the current version of 0MQ
Macro ZMQ_MAKE_VERSION(major,minor,patch) allows to create
a representation of the specified version.
The versions can be compared using simple <, >, ==, etc.
operators.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-09 07:53:24 +02:00
Martin Lucina
214b56077a
Fix missing platform.hpp in zmq_connecter.cpp
...
Missed testing on Win32
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-10-08 22:06:41 +02:00
Martin Sustrik
daf5d3273b
More cleanup of session termination process.
...
Fix in termination of session attached to a REP socket.
Several fixes of session termination in case of disconnection.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-08 21:42:55 +02:00
Martin Lucina
f90c8d957e
Scalability improvements for large amounts of connections
...
Add signaler_sndbuf_size option to config.hpp which allows the user to
increase the size of the send buffer used by the signalling socketpair.
Implement random backoff for reconnection attempts using a primitive
pseudo-random generation to prevent reconnection storms.
Add wait_before_connect option to config.hpp to allow the user to enable
random delay even on initial connect. Default is false for low latency.
Signed-off-by: Martin Lucina <mato@kotelna.sk>
2010-10-08 17:49:40 +02:00
Martin Sustrik
7a685b0f88
Clean-up of session termination process
...
Specifically, shutdown of child objects is initiated *before* termination
handshake with socket object.
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-08 17:23:21 +02:00
Martin Lucina
965fb7755b
configure.in: OpenPGM no longer requires pkg-config
2010-10-04 16:22:30 +02:00
Steven McCoy
d62d721f1a
configure.in: Add amd64 to OpenPGM supported platforms
2010-10-04 16:14:57 +02:00
Nir Soffer
1d431190f5
make sure that reader does not terminate in the middle of a multipart message
2010-10-02 10:01:18 +02:00
Martin Sustrik
2142b8918a
issue 92 -- Assertion failed: inpipe && outpipe (pair.cpp:86) -- fixed
2010-10-01 18:46:32 +02:00
Martin Sustrik
1a6cd59e8b
stress test for shutdown process added
2010-10-01 16:03:08 +02:00
Martin Sustrik
2a85cce189
Merge branch 'master' of github.com:zeromq/zeromq2
2010-10-01 13:37:59 +02:00
Martin Sustrik
0bb76b667b
assert when xrep socket gets reconnected in the middle of the shutdown -- fixed
2010-10-01 13:37:46 +02:00
Martin Lucina
8f9080ebb9
zmq_poll(): Fix busy-loop if timeout is zero
...
Fix a case where zmq_poll() (poll-based version) could go off into a busy-loop
if no revents are returned and the timeout passed in is zero.
2010-09-30 15:30:24 +02:00
Martin Sustrik
ac9b05c36b
Merge branch 'maint'
...
* maint:
zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed
2010-09-30 15:12:06 +02:00
Max Wolf
79aea5ffa6
zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed
2010-09-30 15:10:47 +02:00
Martin Sustrik
98fa2fa802
fix in XREP's fair queueing mechanism
2010-09-30 14:03:54 +02:00
Martin Sustrik
7881ba1bcd
minor whitespace fix
2010-09-30 11:35:14 +02:00
Steven McCoy
eaa925eca7
FreeBSD doesn't define MSG_ERRQUEUE -- now it's defined in 0MQ
2010-09-30 11:33:35 +02:00
Ilja Golshtein
ec2e85919e
C++ binding destructors don't throw exceptions
2010-09-30 09:11:51 +02:00
Steven McCoy
d14be62499
more fixes to (e)pgm transport
2010-09-30 09:11:51 +02:00
Steven McCoy
96d85b2098
* Add assertions to check for OpenPGM calls with invalid parameters.
...
* Assertion to check that pgm_getaddrinfo is actually returning something.
* Missing pgm_connect call.
* Typo on TOS causing immediate abort.
* Placeholder calls for timeouts whilst continuing spin loop functionality.
* OpenPGM v5 now supports reference counting so remove init checks.
* Duplicate UDP unicast port setting, requires one unicast and one multicast.
* Incorrectly set socket rcvbuf size with sndbuf.
* Replace std::lexicographical_compare of TSI's with long word integer comparisons.
* pgm_socket_t::receive returns -1 on no data.
2010-09-30 09:11:19 +02:00
Steven McCoy
00cd7d49c7
Upgrade to OpenPGM-5.0.78
2010-09-28 16:35:29 +02:00
Martin Sustrik
10bb9d0405
Dhammika Pathirana was missing from the AUTOHRS file for some reason -- fixed
2010-09-28 15:32:12 +02:00
Gonzalo Diethelm
87beaaa00d
ZMQ_TYPE socket option added
2010-09-28 15:27:45 +02:00
Martin Sustrik
6715f9b185
Merge branch 'maint'
...
* maint:
crash when closing an ypipe -- fixed
2010-09-28 07:51:59 +02:00
Dhammika Pathirana
c1deb226f4
crash when closing an ypipe -- fixed
2010-09-28 07:46:17 +02:00
Martin Sustrik
f61921d096
REQ socket can die when reply is delivered on wrong unerlying connection -- fixed
2010-09-28 07:39:16 +02:00
Martin Sustrik
16c3884a61
MSVC build fixed
2010-09-27 11:18:21 +02:00
Martin Sustrik
e2f834d294
ZMQ_FD and ZMQ_EVENTS documentation added
2010-09-27 09:53:30 +02:00
Martin Sustrik
30c1cba4e4
latency optimisation for the case where there are no timers
2010-09-27 09:34:00 +02:00
Martin Sustrik
238640a526
timers properly implemented
2010-09-26 21:42:23 +02:00
Martin Sustrik
8d7bf6684c
common base for all pollers created; the only thing it handles at the moment is 'load'
2010-09-26 19:22:33 +02:00
Martin Sustrik
cf815e8c78
new interfaces for timers; the implementation is not changed yet
2010-09-26 18:30:03 +02:00
Martin Sustrik
be79a9fbc2
minor beautifications
2010-09-26 18:01:59 +02:00
Martin Sustrik
5dae27d0ed
clock_t class added
2010-09-26 16:55:54 +02:00
Martin Sustrik
7d5061798c
Merge branch 'maint'
...
* maint:
if TSC jumps backwards (in case of migration to a different CPU core) latency peak may occur -- fixed
Conflicts:
src/app_thread.cpp
2010-09-26 13:36:05 +02:00
Martin Sustrik
9129b79248
if TSC jumps backwards (in case of migration to a different CPU core) latency peak may occur -- fixed
2010-09-26 13:30:33 +02:00
Martin Sustrik
e478468e52
minor error in comment fixed
2010-09-21 09:10:17 +02:00
Martin Sustrik
9c11886600
The flag in the socket has clear semantics now -- it tracks whether corresponding context was closed, it doesn't track whether zmq_close was called on the socket itself
2010-09-21 09:00:46 +02:00
Martin Sustrik
4d51a52874
zmq_poll (select version) now correctly assumes that ZMQ_FD is edge-trigerred
2010-09-20 17:25:04 +02:00
Martin Lucina
f49b77eedc
zmq_poll honours ZMQ_FORCE_POLL and ZMQ_FORCE_SELECT options
2010-09-20 16:55:46 +02:00
Martin Lucina
1abfc92d26
minor problem in zmq_poll (select version) fixed
2010-09-20 16:45:25 +02:00
Martin Sustrik
328c92a0a7
problem with engine being attached to session while it's being terminated fixed
2010-09-20 00:06:05 +02:00
Martin Sustrik
1d2399720b
zmq_init_t destroyed zmq_engine_t before plugging it out from the poller first -- fixed
2010-09-19 22:45:48 +02:00
Martin Sustrik
cda3c96a7f
minor code reorganisation in ctx_t::terminate
2010-09-19 22:17:37 +02:00
Martin Sustrik
938689a491
synchronisation problem fixed in ctx_t
2010-09-19 21:40:26 +02:00
Martin Sustrik
471013a59f
two races fixed in session creation
2010-09-19 20:43:14 +02:00
Martin Sustrik
1f10208ad0
termination of pipe via delimiter message could stuck when no data were read from the pipe (because connection wasn't active) -- fixed
2010-09-19 08:42:19 +02:00
Martin Sustrik
5153b6368b
obsolete 'active' flag removed from session_t
2010-09-19 08:39:53 +02:00
Martin Sustrik
4c6d07d366
single term ack counting mechanism for every socket (no separate mechanisms for fq_t and lb_t)
2010-09-18 07:37:36 +02:00
Martin Sustrik
fb6ce536d9
more details on launch_sibling in comments
2010-09-18 06:48:45 +02:00
Martin Sustrik
0c215fada4
potential duplicate termination of pipes removed
2010-09-18 06:42:46 +02:00
Martin Sustrik
c7b9ba3ccd
reconnection process fixed when failure occurs during init phase
2010-09-17 12:58:20 +02:00
Martin Sustrik
85aa25e56c
bug in REQ+multipart fixed
2010-09-17 12:32:46 +02:00
Martin Sustrik
ff1080728f
Merge branch 'maint'
...
* maint:
values of RATE, RECOVERY_IVL and SWAP options are checked for negative values
2010-09-15 16:58:00 +02:00
Martin Sustrik
e2802d9a4b
values of RATE, RECOVERY_IVL and SWAP options are checked for negative values
2010-09-15 16:44:57 +02:00
Martin Lucina
be159b6316
zmq::writer_t: Add missing test for swap
2010-09-13 13:27:48 +02:00
Martin Sustrik
92f9136ca6
lefover assert removed
2010-09-10 13:11:08 +02:00
Martin Sustrik
a68e6739f4
when no I/O threads are available error is raised instead of assertion
2010-09-09 08:25:00 +02:00
Martin Sustrik
47e87b7e4b
EMTHREAD error code returned to zmq.h to ensure backward compatibility
2010-09-08 15:45:59 +02:00
Martin Sustrik
91ea204644
EINTR returned from the blocking functions
2010-09-08 08:39:27 +02:00
Martin Sustrik
f374431ebe
get rid of 'has virtual functions but non-virtual destructor' warnings in pipe.hpp
2010-09-07 17:06:33 +02:00
Martin Sustrik
6d4ffd90db
Bug in fq_t and lb_t (when used via ZMQ_EVENTS option) fixed
2010-09-07 15:49:54 +02:00
Martin Sustrik
b4740c14e7
Merge branch 'maint'
...
* maint:
Version number incremented to 2.0.10
NEWS updated for 2.0.9
Conflicts:
builds/msvc/platform.hpp
configure.in
2010-09-04 19:10:17 +02:00
Martin Sustrik
01c463cc89
Version number incremented to 2.0.10
2010-09-04 19:08:55 +02:00
Martin Sustrik
ebf3089735
NEWS updated for 2.0.9
2010-09-04 18:38:20 +02:00
Martin Lucina
d4c8de5050
Merge branch 'maint'
...
* maint:
Update .gitignore
doc: Add 0MQ version to XHTML11 backend footer
build: Generate ChangeLog in 'make dist', ZIP automatically
2010-09-04 17:49:40 +02:00
Martin Lucina
1e8451961e
Update .gitignore
2010-09-04 17:44:11 +02:00
Martin Lucina
32fd916c73
doc: Add 0MQ version to XHTML11 backend footer
...
Thanks to Matt Weinstein for the suggestion.
2010-09-04 17:42:33 +02:00
Martin Lucina
a6d3629fb4
build: Generate ChangeLog in 'make dist', ZIP automatically
...
Change 'make dist' to generate the Git ChangeLog file, that way it doesn't
have to be manually updated nor kept in Git which causes unnecessary work.
Also change 'make dist' to invoke 'dist-zip' automatically to generate a
ZIP as well as a .tar.gz.
Thanks to http://live.gnome.org/Git/ChangeLog for the inspiration to
automatically generate ChangeLog.
2010-09-04 17:42:12 +02:00
Martin Sustrik
76f2e5d544
Merge branch 'maint'
...
* maint:
Broken device numbering reverted
assert on malformed messages
forwarder and streamer devices handle multi-part messages correctly
improved null checking in zmq_term
Conflicts:
AUTHORS
include/zmq.h
src/zmq.cpp
2010-09-04 17:19:38 +02:00
Martin Sustrik
db7fe858d6
Broken device numbering reverted
2010-09-04 17:12:08 +02:00
Dhammika Pathirana
10227899b1
assert on malformed messages
2010-09-04 16:59:25 +02:00
Jon Dyte
c2f3b3b445
forwarder and streamer devices handle multi-part messages correctly
2010-09-04 16:58:59 +02:00