summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2012-04-08Set CLOEXEC flag on fds used by signalerMartin Sustrik
While TCP and IPC socket duplicates are correctly closed on fork+exec, file descriptors used for internal communication within libxs are not. This patch fixes the problem. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-08Handle insufficient resources on accept() decentlyMartin Sustrik
If accept() call fails due to insuffient OS resources the new connection is rejected. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-07Fix error handling in TCP and IPC connectersMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-07Fix identity exchange for inproc transportMartin Hurton
The socket connecting using the inproc transport never received the identity of the remote peer.
2012-04-06Flush identity message for inproc transportMartin Hurton
The scoket implementation for inproc transfer failed to flush identity message. The result was that the identity message was not delivered until after the user sent the first message. The identity message was never delivered if the user used the socket only to receive messages.
2012-04-06tcp_address: check address length before manipulating itMartin Hurton
2012-04-06EMTHREAD error code removedMartin Sustrik
libxs (as opposed to libzmq) requires at least one I/O thread per context. Thus, "no I/O thread available" error doesn't make sense anyome. This patch removes the code and the documentation. It keeps the definition of EMTHREAD itself for backward compatibility. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-06Verious warnings generated by SunStudio fixedMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-06Andrew W. Nosenko added to AUTHORS fileMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-06Allow pipe_t::flush() to be called from pipe_t::terminate()Martin Sustrik
Previous patch have broken flushing a delimiter in pipe_t::terminate() function. This patch allows the flush to happen even if pipe state is set to 'terminated'. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-06Fix bogus typo in xs::pipe_t::flush()Andrew W. Nosenko
* src/pipe.cpp (flush): Fix bogus typo: '&&' was used instead of '||'
2012-04-06Changed project name in README references; ignore EXE files.Gonzalo Diethelm
2012-04-06Improved readability of README file.Gonzalo Diethelm
2012-04-05XS_PLUGIN and XS_FILTER implementationMartin Sustrik
This patch introduces following features: - XS_PLUGIN context option to add plugins to libxs - XS_FILTER option to switch between different filter types - Automatic loading of plug-ins is *not* implemented. From the implementation point of view: - standard prefix filter is implemented as a pluggable filter - trie_t and mtrie_t are joined into a single class - the code for 0MQ/3.1 compatibility is left in in the form of comments - new test for testing re-subscriptions is added Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-04Accept ECONNRESET from close()Martin Sustrik
Although not a POSIX behaviour, FreeBSD can fail with ECONNRESET. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-040MQ/2.1 wire format compatibility implementedMartin Sustrik
- XS_PROTOCOL option added - libxs ignores when unused flags are set to 1 (0MQ/2.1 bug) - compatibility tests added Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-04-04Define the XS_HAVE_* poller macros in a more robust wayGabriele Svelto
The existing code for definining the XS_HAVE_* macros for the polling mechanism may fail if the platform's `tr' command does not support the GNU syntax. Replacing the hand-made declaration with autoconf macros yields the same results on all platforms. Signed-off-by: Gabriele Svelto <gabriele.svelto@gmail.com>
2012-04-04Add README link for Github to render marked up versionMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-30Modified the configure.ac file according to autoconf best practicesGabriele Svelto
- Use consistent quoting in M4 macros - Use portable M4sh shell constructs where possible - More consistent indentation and line wrapping - Split lists of files or functions on multiple lines to simplify adding and removing elements from them Signed-off-by: Gabriele Svelto <gabriele.svelto@gmail.com>
2012-03-29Version and ABI bumped to 1.0.1v1.0.1Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-29Documentation updates for 1.0.1Martin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-28XS_KEEPALIVE options addedMartin Sustrik
This option allows to turn on TCP keepalives on the underlying connections. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-26Handle duplicate identities decentlyMartin Sustrik
When connection with duplicate identity arrives it is ignored. Till now it resulted in assertion. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-25Signaler's global event is now accessible by everyoneMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-25wireformat test addedPaul Colomiets
2012-03-24Fix race condition in find_endpointMartin Hurton
2012-03-24Fixed issue LIBZMQ-345 - race condition in ctx.socket/term allows segfaultPieter Hintjens
2012-03-24Fix command-line for running tests in READMEPaul Colomiets
Signed-off-by: Paul Colomiets <paul@colomiets.name>
2012-03-23Add long comment about security problem on Windows platformMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-23Ignore distorted timeouts on Windows in debug modeMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-23Error handling during connectMartin Sustrik
Error handling of asynchronous connect for IPC was incorrectly copied from TCP transport. This patch fixes the problem. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-20Make REQ session state machine aware of reconnectionsMartin Sustrik
On reconnections, state machine in req_session_t is reset to the initial state. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-20Send identities on reconnectMartin Sustrik
When reconnection happened, identity was not resent to the peer. Fixed. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-20OpenVMS tests fixedMartin Sustrik
This patch takes into account that IPC transport is not supported on OpenVMS platform. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-20Reconnect test fixedMartin Sustrik
Reconnect test have run TCP reconnect test twice instead of doing one test for TCP and one for IPC. Fixed. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-20Small ommision in session creation mechanismMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-17Piotr Sikora added to AUTHORS fileMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-17Use strncpy() instead of strcpy().Piotr Sikora
Signed-off-by: Piotr Sikora <piotr.sikora@frickle.com>
2012-03-17Add missing <sys/types.h> header.Piotr Sikora
Signed-off-by: Piotr Sikora <piotr.sikora@frickle.com>
2012-03-14Merge branch 'doc-updates' of git.lucina.net:libxsv1.0.0Martin Sustrik
2012-03-14Documentation updates (API reference)Martin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-14Documentation updates (README, INSTALL, xs tagline)Martin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-14Removed leftovers from a logging experimentMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-13Merge branch 'doc-updates' of git.lucina.net:libxsMartin Sustrik
2012-03-13Rename zmq(7) manual to xs_zmq(7) and always install itMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13Merge branch 'doc-updates' of git.lucina.net:libxsMartin Sustrik
2012-03-13Add NEWS for 1.0.0 releaseMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13Add zmq(7) manual page for libzmq compatibility libraryMartin Lucina
Signed-off-by: Martin Lucina <martin@lucina.net>
2012-03-13Type of XS_MAXMSGSIZE changed to uint64_tMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2012-03-13'timeout' parameter in xs_poll changed to intMartin Sustrik
Originally, the parameter was of type long which is incompatible with POSIX poll() function. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>