summaryrefslogtreecommitdiff
path: root/src/zmq.cpp
AgeCommit message (Collapse)Author
2010-09-30zmq_poll(): Fix busy-loop if timeout is zeroMartin Lucina
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 * Add assertions to check for OpenPGM calls with invalid parameters.Steven McCoy
* 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-28Upgrade to OpenPGM-5.0.78Steven McCoy
2010-09-26clock_t class addedMartin Sustrik
2010-09-20zmq_poll (select version) now correctly assumes that ZMQ_FD is edge-trigerredMartin Sustrik
2010-09-20zmq_poll honours ZMQ_FORCE_POLL and ZMQ_FORCE_SELECT optionsMartin Lucina
2010-09-20minor problem in zmq_poll (select version) fixedMartin Lucina
2010-09-09when no I/O threads are available error is raised instead of assertionMartin Sustrik
2010-09-08EINTR returned from the blocking functionsMartin Sustrik
2010-09-04Merge branch 'maint'Martin Lucina
* maint: zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached zmq.h: Fix typo and use of C99 comment Conflicts: src/zmq.cpp
2010-09-04zmq::select_t, zmq_poll(): assert if FD_SETSIZE reachedMartin Lucina
Ensure that 0MQ does not attempt to call select() on more than FD_SETSIZE file descriptors.
2010-08-28zmq_poll: account for the fact that ZMQ_FD is edge-triggeredMartin Sustrik
2010-08-27zmq_poll returns prematurely even if infinite timeout is set - fixedMartin Sustrik
2010-08-26improved null checking in zmq_termIvo Danihelka
2010-08-25dezombification procedure fixedMartin Sustrik
2010-08-25zmq_poll(): Fix some corner casesMartin Lucina
Trying to optimize out the case where items_[i]. events is 0 would result in a bogus pollfds[i]. Similarly in the select()-based impl, while not strictly necessary it's better to get ZMQ_FD even if events is 0 since that detects ETERM and friends.
2010-08-25zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt2Martin Lucina
Rewrite the select()-based zmq_poll() implementation to use ZMQ_FD and ZMQ_EVENTS. Also fix some corner cases: We should not pollute revents with unrequested events, and we don't need to poll on ZMQ_FD at all if a pollitem with no events set was passed in.
2010-08-25Fix whitespaceMartin Lucina
Dunno where those <TAB>s came from...
2010-08-25zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt1Martin Lucina
Rewrite zmq_poll() to use ZMQ_FD and ZMQ_EVENTS introduced on the wip-shutdown branch. Only do the poll()-based version of zmq_poll (), the select()-based version will not compile at the moment.
2010-08-25WIP: Socket migration between threads, new zmq_close() semanticsMartin Sustrik
Sockets may now be migrated between OS threads; sockets may not be used by more than one thread at any time. To migrate a socket to another thread the caller must ensure that a full memory barrier is called before using the socket from the target thread. The new zmq_close() semantics implement the behaviour discussed at: http://lists.zeromq.org/pipermail/zeromq-dev/2010-July/004244.html Specifically, zmq_close() is now deterministic and while it still returns immediately, it does not discard any data that may still be queued for sending. Further, zmq_term() will now block until all outstanding data has been sent. TODO: Many bugs have been introduced, needs testing. Further, SO_LINGER or an equivalent mechanism (possibly a configurable timeout to zmq_term()) needs to be implemented.
2010-08-25zmq_stopwatch_stop: Don't return EFAULTMartin Lucina
Function returning unsigned long int cannot return (-1)
2010-08-08Added error checking (EFAULT) for null argumentsPieter Hintjens
* Fixed zmq_term, zmq_socket, zmq_close, zmq_setsockopt, * zmq_getsockopt, zmq_bind, zmq_connect, zmq_send, * zmq_recv, zmq_poll, zmq_device, zmq_stopwatch_stop * Updated Reference Manual for these methods
2010-08-07Added not-null assertions on pointer arguments in C API functionsPieter Hintjens
* zmq_term * zmq_socket * zmq_close * zmq_setsockopt * zmq_getsockopt * zmq_bind * zmq_connect * zmq_send * zmq_recv * zmq_poll * zmq_device * zmq_stopwatch_stop
2010-06-17Windows build fixedMartin Sustrik
2010-06-17stopwatch returned to libzmqMartin Sustrik
2010-06-04obsolete API elements removed - this commit breaks backward compatibilityMartin Sustrik
2010-06-04Move perf helper functions to perf/helpers.cppMartin Lucina
2010-05-09Fix in zmq_poll (Windows version)Martin Sustrik
2010-05-06Issue 23. zmq_init() crashes on illegal numbersMartin Sustrik
2010-05-05dispatcher_t class renamed to ctx_tMartin Sustrik
2010-05-05number of application threads to use 0MQ sockets is unlimited; app_threads ↵Martin Sustrik
parameter in zmq_init is unused and obsolete
2010-04-29signaler rewritten in such a way that any number (>64) of threads can be usedMartin Sustrik
2010-04-29lock-free polling removed; ZMQ_POLL flag removedMartin Sustrik
2010-04-12zmq_poll returns ETERM in case of context terminationMartin Sustrik
2010-04-11issue 1 - Change zmq_term semanticsMartin Sustrik
2010-04-09zmq_getsockopt function addedMartin Sustrik
2010-04-08issue 10 - zmq_strerror problem on WindowsMartin Sustrik
2010-04-07devices can be created via APIJon Dyte
2010-03-27as advertised, zmq_flush and ZMQ_NOFLUSH were removedMartin Sustrik
2010-03-13ZMQ_NOFLUSH and zmq_flush obsoletedMartin Sustrik
2010-03-11Restructure language bindingsMartin Lucina
C and C++ headers moved from bindings/ to include/, bindings/ removed --with-c and --with-cpp options to configure removed, C and C++ now built and installed by default
2010-03-09message flags added to zmq_msg_t strcutureMartin Sustrik
2010-03-01polling on POSIX sockets returns POLLERR (win32)unknown
2010-03-01return POLLERR from polling on POSIX sockets (linux version)Martin Sustrik
2010-02-23zmq_errno helper function addedMartin Sustrik
2010-02-22zmq_poll doesn't exit when infinite timeout is set and interrupt occursMartin Sustrik
2010-02-18Add NetBSD supportMartin Lucina
2010-02-11Integrate version numbering into autoconfMartin Lucina
configure.in is now the master source for the package version number, this propagates to src/platform.hpp (for zmq_version) and doc/Makefile.am (for documentation generation) automagically.
2010-02-11ZMQII-72: Add zmq_version functionMartin Sustrik
2010-02-10ZMQII-70: zmq_poll on win32 fails with EINVALMartin Sustrik