Commit Graph

742 Commits

Author SHA1 Message Date
Martin Sustrik
9b8993efb4 elementary fixes to the named session 2010-08-25 15:39:21 +02:00
Martin Sustrik
46d7055565 connecter object unregisters its fd correctly 2010-08-25 15:39:21 +02:00
Martin Sustrik
87655b0b9d listener object unregisters its fd correctly 2010-08-25 15:39:21 +02:00
Martin Sustrik
0d5f3ebbda sessions created by listerner are correctly shut down 2010-08-25 15:39:21 +02:00
Martin Sustrik
5a731e73c8 added ZMQ_MAKE_VALGRIND_HAPPY compile-time option 2010-08-25 15:39:20 +02:00
Martin Sustrik
43e34d0281 engine leak fixed; pgm compilation fixed 2010-08-25 15:39:20 +02:00
Martin Sustrik
45f83d78a5 one more dezombification bug fixed 2010-08-25 15:39:20 +02:00
Martin Sustrik
936dbf956b dezombification procedure fixed 2010-08-25 15:39:20 +02:00
Martin Sustrik
76bd6e73c3 engine termination on disconnect fixed 2010-08-25 15:39:20 +02:00
Martin Sustrik
d13933bc62 I/O object hierarchy implemented 2010-08-25 15:39:20 +02:00
Martin Lucina
ee1f1af009 zmq_poll(): Fix some corner cases
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-25 15:39:20 +02:00
Martin Lucina
a85d1e51bf zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt2
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-25 15:39:20 +02:00
Martin Lucina
6b1ca2cb1e Fix whitespace
Dunno where those <TAB>s came from...
2010-08-25 15:39:20 +02:00
Martin Lucina
cd12508418 zmq_poll(): Rewrite to use ZMQ_FD/ZMQ_EVENTS pt1
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-25 15:39:20 +02:00
Martin Sustrik
eb7b8a413a REP socket layered on top of XREP socket 2010-08-25 15:39:20 +02:00
Martin Sustrik
3e97c0fef4 REQ socket implementation is layered on top of XREQ 2010-08-25 15:39:20 +02:00
Martin Sustrik
f77edfce26 Destruction of session is delayed till both in & out pipes are closed 2010-08-25 15:39:20 +02:00
Martin Sustrik
05d908492d WIP: Socket migration between threads, new zmq_close() semantics
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-25 15:39:20 +02:00
Martin Sustrik
b7e0fa972f 'master' will become 2.1.x release 2010-08-25 15:38:43 +02:00
Martin Lucina
1e089f7163 Update ChangeLog for v2.0.8 2010-08-25 13:11:20 +02:00
Martin Lucina
c9076c5d8b Basic documentation for XREQ/XREP socket types
Add some basic documentation for XREQ/XREP socket types, including
a brief description of the most common use case (REQ -> XREP) and (XREQ ->
REP).
2010-08-25 12:50:16 +02:00
Pieter Hintjens
6d275a8788 Updated NEWS for stable 2.0.8 release 2010-08-25 12:09:55 +02:00
Pieter Hintjens
98bea86240 Updated NEWS for stable 2.0.8 release 2010-08-25 11:59:01 +02:00
Pieter Hintjens
d788c1f7e4 Updated NEWS for stable 2.0.8 release 2010-08-25 11:43:52 +02:00
Martin Lucina
c06a3cc510 Update version number to 2.0.8 2010-08-25 11:24:24 +02:00
Martin Lucina
b66dd7afd2 zmq_stopwatch_stop: Don't return EFAULT
Function returning unsigned long int cannot return (-1)
2010-08-25 09:50:45 +02:00
Pieter Hintjens
2b2accb8bf Added calls to zmq_msg_close in examples 2010-08-21 15:47:10 +02:00
Pieter Hintjens
c52d1f2d47 Fixed example for multipart zmq_recv() 2010-08-21 13:46:03 +02:00
Pieter Hintjens
87612be91d Merge branch '46_device_robustness' 2010-08-20 01:06:34 +02:00
Pieter Hintjens
de0035b6d9 Fixed git URL in README 2010-08-19 14:31:04 +02:00
Martin Sustrik
7aba2d1033 documentation leftover from v2.0.6 cleaned in zmq(7) 2010-08-18 12:00:26 +02:00
Pieter Hintjens
de0173754c Removed wip zmq_deviced from master 2010-08-11 21:12:10 +02:00
Pieter Hintjens
5be54b9120 46 - Devices vulnerable to invalid messages
http://github.com/zeromq/zeromq2/issues#issue/46
Invalid messages are now discarded silently, instead of causing an assertion
failure.
2010-08-11 17:05:19 +02:00
Pieter Hintjens
e74d350068 Fixed (un)signed type errors in get/setsockopt manual 2010-08-11 17:00:12 +02:00
Pieter Hintjens
a12f446c4c Modified zmq_tcp(7) to emphasize wildcard interfaces 2010-08-10 12:40:22 +02:00
Pieter Hintjens
b6cdd369e3 Added error checking (EFAULT) for null arguments
* 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-08 11:43:32 +02:00
Pieter Hintjens
677b3d906a Added not-null assertions on pointer arguments in C API functions
* 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-07 20:55:07 +02:00
Martin Lucina
b579aa9510 Merge branch 'master' of github.com:zeromq/zeromq2 2010-08-06 12:01:40 +02:00
Martin Lucina
6d35e82db4 Fix uninitialized use of nbytes in signaler fix 2010-08-06 12:00:57 +02:00
Pieter Hintjens
2100a91333 Merge branch 'master' of github.com:zeromq/zeromq2 2010-08-06 11:09:29 +02:00
Martin Lucina
16b43e657b Merge branch 'master' of github.com:zeromq/zeromq2 2010-08-05 23:41:49 +02:00
Martin Lucina
9ac2ff449c zmq::signaler_t: Restart syscalls on EINTR
This patch restarts the send() or recv() inside zmq::signaler_t if the call fails
due to EINTR.
2010-08-05 23:40:30 +02:00
Pieter Hintjens
78e9ee84bf Fixed MSVC project for PULL/PUSH 2010-08-05 18:49:49 +02:00
Pieter Hintjens
96bcc9e6cf Small improvements to zmq_device(3) page
* Clarified broker model and proxy model
* Added example of proxy model
2010-08-04 17:06:38 +02:00
Pieter Hintjens
13f3481e12 Further cleanups on reference manual
- fixed unwrapped text in new man pages
- fixed over-long lines in older pages, where possible
- removed reference to old standalong devices from index page
- added refernce to new zmq_device[3] documented from index page
- some minor spelling corrections
2010-08-04 16:05:25 +02:00
Pieter Hintjens
6ff193999d Removed empty man pages for old standalone devices 2010-08-04 15:07:15 +02:00
Pieter Hintjens
c51de31f2f Reverting 'clean' change to Makefile 2010-08-04 14:56:58 +02:00
Pieter Hintjens
77a3c36ff1 Various changes to documentation project:
* Added documentation for zmq_deviced, which we're developing
* Created consistent page footer in documentation template
* Page footer notes doc authors and copyright statement
2010-08-04 14:43:33 +02:00
Pieter Hintjens
6cd9030447 Added clean target that deletes generated man pages 2010-08-04 14:42:21 +02:00
Pieter Hintjens
f575f252c9 Added man page for the zmq_device method 2010-08-04 14:41:43 +02:00