summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2010-08-25one more dezombification bug fixedMartin Sustrik
2010-08-25dezombification procedure fixedMartin Sustrik
2010-08-25engine termination on disconnect fixedMartin Sustrik
2010-08-25I/O object hierarchy implementedMartin 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-25REP socket layered on top of XREP socketMartin Sustrik
2010-08-25REQ socket implementation is layered on top of XREQMartin Sustrik
2010-08-25Destruction of session is delayed till both in & out pipes are closedMartin Sustrik
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-1146 - Devices vulnerable to invalid messagesPieter Hintjens
http://github.com/zeromq/zeromq2/issues#issue/46 Invalid messages are now discarded silently, instead of causing an assertion failure.
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-08-06Fix uninitialized use of nbytes in signaler fixMartin Lucina
2010-08-05zmq::signaler_t: Restart syscalls on EINTRMartin Lucina
This patch restarts the send() or recv() inside zmq::signaler_t if the call fails due to EINTR.
2010-08-04Renamed ZMQ_UPSTREAM to ZMQ_PULL, and ZMQ_DOWNSTREAM to ZMQ_PUSH. Left the oldPieter Hintjens
definitions as aliases, to be removed in release 3.0. Also renamed the source files implementing these two socket types. This change does not break existing applications nor bindings, but allows us to fix the documentation and user guide now, rather than keeping the old (confusing) names.
2010-07-30XREQ: Correct behaviour on hitting ZMQ_HWMMartin Lucina
This reverts part of commit 84e0c7991a9b316ed571533abc628cc1175750a3 to get correct ZMQ_HWM semantics with XREQ sockets: When sending a message to an XREQ socket, the underlying pipe is selected in a round-robin fashion. If an underlying pipe is full it is skipped. If there are no underlying pipes, or all underlying pipes are full then zmq_send() shall block or return EAGAIN, depending on whether or not the call is blocking. Messages are never dropped.
2010-07-24pipe: check_read() should check for message delimiterMartin Hurton
2010-07-24Make sure lwm > 0 when hwm > 0Martin Hurton
2010-07-21Issue 42 - getaddrinfo() failsMartin Lucina
2010-07-19EHOSTUNREACH is a valid return value from recv()Martin Sustrik
2010-07-13minor comment clarificationMartin Sustrik
2010-07-13devices exit in case of context terminationMartin Sustrik
2010-07-10Fix identity generation for transient inproc connectionsMartin Hurton
2010-07-07issue 40 - nbytes != -1 (tcp_socket.cpp:216)Martin Hurton
2010-07-07issue 38 - Assertion failed: fetched (xrep.cpp:196)Martin Hurton
2010-06-29Prevent socket reuse by second bind, on win32Pieter Hintjens
2010-06-29MSVC build fixedMartin Sustrik
2010-06-26msg_store added to MSVC buildMartin Sustrik
2010-06-25Used more expressive variable namesPieter Hintjens
2010-06-21Add SWAP supportMartin Hurton
2010-06-19Revive reader on pipe terminationMartin Hurton
2010-06-19fix double free error in PAIR socketMartin Hurton
2010-06-17Windows build fixedMartin Sustrik
2010-06-17stopwatch returned to libzmqMartin Sustrik
2010-06-17pipe: fix bug in rollback() methodMartin Hurton
The msgs_written variable keeps track how many complete messages have been written so far. The rollback operation drops all fragments of the last incomplete message so it shouldn't change this variable at all.
2010-06-17generate identity for transient inproc connectionsMartin Sustrik
2010-06-11issue 35 - ZMQ_RCVMORE sometimes erroneously returns falseBrian Buchanan
2010-06-11if connect asserts, exact error is reportedMartin Sustrik
2010-06-11EHOSTUNREACH is acceptable outcome from connectMartin Sustrik
2010-06-10clearing thread info structurePiotr Trojanek
2010-06-10couple of ICC warnings fixedMartin Sustrik
2010-06-10issue 33 - missing virtual destructorsMartin Sustrik
2010-06-10issue 31 - Assertion failed: err == ECONNREFUSED || err == ETIMEDOUT ↵Martin Sustrik
(tcp_connecter.cpp:296)
2010-06-09issue 32 - poll_t poller brokenMartin Sustrik
2010-06-09extra ';' inside a struct or union -- clang warnings fixedPiotr Trojanek
2010-06-07minor comment clarificationMartin Sustrik