summaryrefslogtreecommitdiff
path: root/src/io_thread.cpp
AgeCommit message (Collapse)Author
2011-02-22Added explicit error message in case of memory exhaustionMartin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2011-02-09Initial implementation of reaper thread.Martin Sustrik
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>
2010-11-05signaler renamed to mailboxMartin Sustrik
For historical reasons queue to transfer commands between threads was called 'signaler'. Given that it was used to pass commands rather than signals it was renamed to 'mailbox', see Erlang mailboxes. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-11-05slots renamed to tidsMartin Sustrik
Threads were so far identified by integers called 'slots'. This patch renames them to more comprehensible 'tid's (thread IDs). Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-30Name of "GNU Lesser Public License" corrected.Martin Sustrik
Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-09-26new interfaces for timers; the implementation is not changed yetMartin Sustrik
2010-09-08EINTR returned from the blocking functionsMartin 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-05-05dispatcher_t class renamed to ctx_tMartin Sustrik
2010-05-04signaler transports commands per se rather than one-bit signalsMartin Sustrik
2010-05-03thread ID and dispatcher made private in object_tMartin Sustrik
2010-04-29signaler rewritten in such a way that any number (>64) of threads can be usedMartin Sustrik
2010-04-29fd_signaler_t renamed to signaler_tMartin Sustrik
2010-04-29lock-free polling removed; ZMQ_POLL flag removedMartin 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-01-05Copyrights transferred from FastMQ to iMatixMartin Sustrik
2009-12-15all news converted to nothrow variantMartin Sustrik
2009-10-02poller is a concept now rather than virtualised classMartin Sustrik
2009-09-20receiving side of signaler virtualisedMartin Sustrik
2009-09-20'flags' parameter added to zmq_initMartin Sustrik
2009-09-16c and cpp directories moved into bindings directorymalosek
2009-09-07include directory split into c and cpp dirs, added --with-c and --with-cpp ↵malosek
configure options
2009-08-08lockfree interaction patter for 3 theads implementedMartin Sustrik
2009-08-06clean up - session/socket/engine stuff removedMartin Sustrik
2009-08-06dispatcher renamed to contextMartin Sustrik
2009-08-03renamed from zs to zmqMartin Sustrik
2009-07-29initial commitMartin Sustrik