0
0
mirror of https://github.com/zeromq/libzmq.git synced 2025-01-01 10:50:28 +08:00

1264 Commits

Author SHA1 Message Date
Martin Sustrik
7a685b0f88 Clean-up of session termination process
Specifically, shutdown of child objects is initiated *before* termination
handshake with socket object.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
2010-10-08 17:23:21 +02:00
Martin Lucina
965fb7755b configure.in: OpenPGM no longer requires pkg-config 2010-10-04 16:22:30 +02:00
Steven McCoy
d62d721f1a configure.in: Add amd64 to OpenPGM supported platforms 2010-10-04 16:14:57 +02:00
Nir Soffer
1d431190f5 make sure that reader does not terminate in the middle of a multipart message 2010-10-02 10:01:18 +02:00
Martin Sustrik
2142b8918a issue 92 -- Assertion failed: inpipe && outpipe (pair.cpp:86) -- fixed 2010-10-01 18:46:32 +02:00
Martin Sustrik
1a6cd59e8b stress test for shutdown process added 2010-10-01 16:03:08 +02:00
Martin Sustrik
2a85cce189 Merge branch 'master' of github.com:zeromq/zeromq2 2010-10-01 13:37:59 +02:00
Martin Sustrik
0bb76b667b assert when xrep socket gets reconnected in the middle of the shutdown -- fixed 2010-10-01 13:37:46 +02:00
Martin Lucina
8f9080ebb9 zmq_poll(): Fix busy-loop if timeout is zero
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 15:30:24 +02:00
Martin Sustrik
ac9b05c36b Merge branch 'maint'
* maint:
  zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed
2010-09-30 15:12:06 +02:00
Max Wolf
79aea5ffa6 zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed 2010-09-30 15:10:47 +02:00
Martin Sustrik
98fa2fa802 fix in XREP's fair queueing mechanism 2010-09-30 14:03:54 +02:00
Martin Sustrik
7881ba1bcd minor whitespace fix 2010-09-30 11:35:14 +02:00
Steven McCoy
eaa925eca7 FreeBSD doesn't define MSG_ERRQUEUE -- now it's defined in 0MQ 2010-09-30 11:33:35 +02:00
Ilja Golshtein
ec2e85919e C++ binding destructors don't throw exceptions 2010-09-30 09:11:51 +02:00
Steven McCoy
d14be62499 more fixes to (e)pgm transport 2010-09-30 09:11:51 +02:00
Steven McCoy
96d85b2098 * Add assertions to check for OpenPGM calls with invalid parameters.
* 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-30 09:11:19 +02:00
Steven McCoy
00cd7d49c7 Upgrade to OpenPGM-5.0.78 2010-09-28 16:35:29 +02:00
Martin Sustrik
10bb9d0405 Dhammika Pathirana was missing from the AUTOHRS file for some reason -- fixed 2010-09-28 15:32:12 +02:00
Gonzalo Diethelm
87beaaa00d ZMQ_TYPE socket option added 2010-09-28 15:27:45 +02:00
Martin Sustrik
6715f9b185 Merge branch 'maint'
* maint:
  crash when closing an ypipe -- fixed
2010-09-28 07:51:59 +02:00
Dhammika Pathirana
c1deb226f4 crash when closing an ypipe -- fixed 2010-09-28 07:46:17 +02:00
Martin Sustrik
f61921d096 REQ socket can die when reply is delivered on wrong unerlying connection -- fixed 2010-09-28 07:39:16 +02:00
Martin Sustrik
16c3884a61 MSVC build fixed 2010-09-27 11:18:21 +02:00
Martin Sustrik
e2f834d294 ZMQ_FD and ZMQ_EVENTS documentation added 2010-09-27 09:53:30 +02:00
Martin Sustrik
30c1cba4e4 latency optimisation for the case where there are no timers 2010-09-27 09:34:00 +02:00
Martin Sustrik
238640a526 timers properly implemented 2010-09-26 21:42:23 +02:00
Martin Sustrik
8d7bf6684c common base for all pollers created; the only thing it handles at the moment is 'load' 2010-09-26 19:22:33 +02:00
Martin Sustrik
cf815e8c78 new interfaces for timers; the implementation is not changed yet 2010-09-26 18:30:03 +02:00
Martin Sustrik
be79a9fbc2 minor beautifications 2010-09-26 18:01:59 +02:00
Martin Sustrik
5dae27d0ed clock_t class added 2010-09-26 16:55:54 +02:00
Martin Sustrik
7d5061798c Merge branch 'maint'
* maint:
  if TSC jumps backwards (in case of migration to a different CPU core) latency peak may occur -- fixed

Conflicts:
	src/app_thread.cpp
2010-09-26 13:36:05 +02:00
Martin Sustrik
9129b79248 if TSC jumps backwards (in case of migration to a different CPU core) latency peak may occur -- fixed 2010-09-26 13:30:33 +02:00
Martin Sustrik
e478468e52 minor error in comment fixed 2010-09-21 09:10:17 +02:00
Martin Sustrik
9c11886600 The flag in the socket has clear semantics now -- it tracks whether corresponding context was closed, it doesn't track whether zmq_close was called on the socket itself 2010-09-21 09:00:46 +02:00
Martin Sustrik
4d51a52874 zmq_poll (select version) now correctly assumes that ZMQ_FD is edge-trigerred 2010-09-20 17:25:04 +02:00
Martin Lucina
f49b77eedc zmq_poll honours ZMQ_FORCE_POLL and ZMQ_FORCE_SELECT options 2010-09-20 16:55:46 +02:00
Martin Lucina
1abfc92d26 minor problem in zmq_poll (select version) fixed 2010-09-20 16:45:25 +02:00
Martin Sustrik
328c92a0a7 problem with engine being attached to session while it's being terminated fixed 2010-09-20 00:06:05 +02:00
Martin Sustrik
1d2399720b zmq_init_t destroyed zmq_engine_t before plugging it out from the poller first -- fixed 2010-09-19 22:45:48 +02:00
Martin Sustrik
cda3c96a7f minor code reorganisation in ctx_t::terminate 2010-09-19 22:17:37 +02:00
Martin Sustrik
938689a491 synchronisation problem fixed in ctx_t 2010-09-19 21:40:26 +02:00
Martin Sustrik
471013a59f two races fixed in session creation 2010-09-19 20:43:14 +02:00
Martin Sustrik
1f10208ad0 termination of pipe via delimiter message could stuck when no data were read from the pipe (because connection wasn't active) -- fixed 2010-09-19 08:42:19 +02:00
Martin Sustrik
5153b6368b obsolete 'active' flag removed from session_t 2010-09-19 08:39:53 +02:00
Martin Sustrik
4c6d07d366 single term ack counting mechanism for every socket (no separate mechanisms for fq_t and lb_t) 2010-09-18 07:37:36 +02:00
Martin Sustrik
fb6ce536d9 more details on launch_sibling in comments 2010-09-18 06:48:45 +02:00
Martin Sustrik
0c215fada4 potential duplicate termination of pipes removed 2010-09-18 06:42:46 +02:00
Martin Sustrik
c7b9ba3ccd reconnection process fixed when failure occurs during init phase 2010-09-17 12:58:20 +02:00
Martin Sustrik
85aa25e56c bug in REQ+multipart fixed 2010-09-17 12:32:46 +02:00
Martin Sustrik
ff1080728f Merge branch 'maint'
* maint:
  values of RATE, RECOVERY_IVL and SWAP options are checked for negative values
2010-09-15 16:58:00 +02:00
Martin Sustrik
e2802d9a4b values of RATE, RECOVERY_IVL and SWAP options are checked for negative values 2010-09-15 16:44:57 +02:00
Martin Lucina
be159b6316 zmq::writer_t: Add missing test for swap 2010-09-13 13:27:48 +02:00
Martin Sustrik
92f9136ca6 lefover assert removed 2010-09-10 13:11:08 +02:00
Martin Sustrik
a68e6739f4 when no I/O threads are available error is raised instead of assertion 2010-09-09 08:25:00 +02:00
Martin Sustrik
47e87b7e4b EMTHREAD error code returned to zmq.h to ensure backward compatibility 2010-09-08 15:45:59 +02:00
Martin Sustrik
91ea204644 EINTR returned from the blocking functions 2010-09-08 08:39:27 +02:00
Martin Sustrik
f374431ebe get rid of 'has virtual functions but non-virtual destructor' warnings in pipe.hpp 2010-09-07 17:06:33 +02:00
Martin Sustrik
6d4ffd90db Bug in fq_t and lb_t (when used via ZMQ_EVENTS option) fixed 2010-09-07 15:49:54 +02:00
Martin Sustrik
b4740c14e7 Merge branch 'maint'
* maint:
  Version number incremented to 2.0.10
  NEWS updated for 2.0.9

Conflicts:
	builds/msvc/platform.hpp
	configure.in
2010-09-04 19:10:17 +02:00
Martin Sustrik
01c463cc89 Version number incremented to 2.0.10 2010-09-04 19:08:55 +02:00
Martin Sustrik
ebf3089735 NEWS updated for 2.0.9 2010-09-04 18:38:20 +02:00
Martin Lucina
d4c8de5050 Merge branch 'maint'
* maint:
  Update .gitignore
  doc: Add 0MQ version to XHTML11 backend footer
  build: Generate ChangeLog in 'make dist', ZIP automatically
2010-09-04 17:49:40 +02:00
Martin Lucina
1e8451961e Update .gitignore 2010-09-04 17:44:11 +02:00
Martin Lucina
32fd916c73 doc: Add 0MQ version to XHTML11 backend footer
Thanks to Matt Weinstein for the suggestion.
2010-09-04 17:42:33 +02:00
Martin Lucina
a6d3629fb4 build: Generate ChangeLog in 'make dist', ZIP automatically
Change 'make dist' to generate the Git ChangeLog file, that way it doesn't
have to be manually updated nor kept in Git which causes unnecessary work.

Also change 'make dist' to invoke 'dist-zip' automatically to generate a
ZIP as well as a .tar.gz.

Thanks to http://live.gnome.org/Git/ChangeLog for the inspiration to
automatically generate ChangeLog.
2010-09-04 17:42:12 +02:00
Martin Sustrik
76f2e5d544 Merge branch 'maint'
* maint:
  Broken device numbering reverted
  assert on malformed messages
  forwarder and streamer devices handle multi-part messages correctly
  improved null checking in zmq_term

Conflicts:
	AUTHORS
	include/zmq.h
	src/zmq.cpp
2010-09-04 17:19:38 +02:00
Martin Sustrik
db7fe858d6 Broken device numbering reverted 2010-09-04 17:12:08 +02:00
Dhammika Pathirana
10227899b1 assert on malformed messages 2010-09-04 16:59:25 +02:00
Jon Dyte
c2f3b3b445 forwarder and streamer devices handle multi-part messages correctly 2010-09-04 16:58:59 +02:00
Ivo Danihelka
ae567be0c2 improved null checking in zmq_term 2010-09-04 16:58:29 +02:00
Martin Lucina
ca176121de Merge branch 'maint'
* 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-04 16:24:21 +02:00
Martin Lucina
51a84c15de zmq::select_t, zmq_poll(): assert if FD_SETSIZE reached
Ensure that 0MQ does not attempt to call select() on more than FD_SETSIZE
file descriptors.
2010-09-04 16:12:33 +02:00
Martin Lucina
f850190c16 zmq.h: Fix typo and use of C99 comment 2010-09-04 16:10:14 +02:00
Martin Lucina
2673a84e07 Merge branch 'maint'
* maint:
  doc: Update zmq_socket(3) for 2.0.8 API changes
  Revert "Added man page for the zmq_device method"
  Revert "Added clean target that deletes generated man pages"
  Revert "Various changes to documentation project:"
  Revert "Reverting 'clean' change to Makefile"
  Revert "Removed empty man pages for old standalone devices"
  Revert "Further cleanups on reference manual"
  Revert "Small improvements to zmq_device(3) page"
  Revert "Removed wip zmq_deviced from master"
2010-09-04 16:01:31 +02:00
Martin Lucina
ee3444ff93 doc: Update zmq_socket(3) for 2.0.8 API changes 2010-09-04 16:00:26 +02:00
Martin Lucina
26b39bcdef Revert "Added man page for the zmq_device method"
This reverts commit f575f252c99c99d3622f313d6bbad6635197a1e4.

Conflicts:

	doc/zmq_device.txt
2010-09-04 15:55:41 +02:00
Martin Lucina
8800ac7de5 Revert "Added clean target that deletes generated man pages"
This reverts commit 6cd90304476c1c6873d67068009def63e520b848.
2010-09-04 15:55:19 +02:00
Martin Lucina
32baeb610e Revert "Various changes to documentation project:"
This reverts commit 77a3c36ff1f11215229a4efdb821a3cb83a9d6fc.
2010-09-04 15:55:11 +02:00
Martin Lucina
4cb6dbd52f Revert "Reverting 'clean' change to Makefile"
This reverts commit c51de31f2fd31f782e419bfac2fb8d40d689f3e3.
2010-09-04 15:55:03 +02:00
Martin Lucina
48d3e2d660 Revert "Removed empty man pages for old standalone devices"
This reverts commit 6ff193999d96487f7aa7e578980ab5554e61d8dc.
2010-09-04 15:54:53 +02:00
Martin Lucina
6c393f53e2 Revert "Further cleanups on reference manual"
This reverts commit 13f3481e127a6b2390e847af6b01ee88f1b4ae61.

Conflicts:

	doc/zmq_device.txt
	doc/zmq_tcp.txt
2010-09-04 15:54:34 +02:00
Martin Lucina
6647e61243 Revert "Small improvements to zmq_device(3) page"
This reverts commit 96bcc9e6cf73781c31042278eb960c0363a78805.
2010-09-04 15:51:40 +02:00
Martin Lucina
83d253d72d Revert "Removed wip zmq_deviced from master"
This reverts commit de0173754cc82f6c08875a892892f043a804554c.
2010-09-04 15:51:09 +02:00
Martin Sustrik
0a1f7e3524 Merge branch 'maint'
* maint:
  Prior to this patch prefix_tree asserts.
  Fix for signaler_t on HP-UX and AIX platforms
  Mikael Kjaer added to AUTHORS

Conflicts:
	src/trie.cpp
2010-09-02 08:07:40 +02:00
Jon Dyte
14853c2db5 Prior to this patch prefix_tree asserts.
This is because as it adds the 255th element at a node it attempts to calculate
the count member var which is an unsigned char via count = (255 -0) + 1; and
pass the result to realloc. Unfortunately the result is zero and realloc returns
null; the prefix_tree asserts. I have fixed it by making the count an unsigned
short.
2010-09-02 07:52:02 +02:00
Bernd Melchers
8ec0743c75 Fix for signaler_t on HP-UX and AIX platforms 2010-09-02 07:33:57 +02:00
Martin Sustrik
d5b6f680a5 Mikael Kjaer added to AUTHORS 2010-09-02 07:26:14 +02:00
Martin Sustrik
a81a37399b Merge branch 'maint'
* maint:
  Erasure of retired fd's in select.cpp causes an assertion in MSVC 2008 STL
2010-09-01 18:42:15 +02:00
Mikael Helbo Kjær
59315ebdcb Erasure of retired fd's in select.cpp causes an assertion in MSVC 2008 STL
I was hitting an issue with an SCL enabled STL library in connection with the
way select_t::loop was erasing retired fd's. The problem as identified by the
SCL assertion was that by the time the iterator given to the erase method was
called it was considered invalid by the library. I am not sure this isn't just
a "quirk" of the MSVC STL library as the other code looks valid to me as well.
2010-09-01 18:39:12 +02:00
Martin Sustrik
47aaf10211 Merge branch 'maint'
* maint:
  maint: will become 2.0.9

Conflicts:
	builds/msvc/platform.hpp
	configure.in
2010-09-01 18:35:48 +02:00
Martin Sustrik
99ddfa7d65 maint: will become 2.0.9 2010-09-01 18:22:03 +02:00
Martin Sustrik
0fe7d3c998 conflicts resolved 2010-09-01 15:29:19 +02:00
Martin Sustrik
651c1adc80 sys transport introdced; inproc://log moved to sys://log 2010-09-01 15:24:46 +02:00
Martin Sustrik
6a0c323bb2 MSVC build fixed 2010-09-01 13:31:45 +02:00
Martin Sustrik
ce0972dca3 context creates an inproc endpoint ('inproc://log') to distribute 0MQ's log messages 2010-09-01 07:57:38 +02:00
Martin Sustrik
db73c76314 assert when pipe attaches to PUB socket in process of termination -- fixed 2010-09-01 07:56:04 +02:00
Martin Sustrik
aaa07613d3 pipe being attached to the PAIR socket during its termination process is immediately asked to terminate itself 2010-09-01 07:54:57 +02:00
Martin Sustrik
47c064f2ea hangup when closing socket with no pipes attached -- fixed 2010-09-01 07:35:15 +02:00
Martin Sustrik
090e460d6f naming cleanup: yarray->array 2010-08-31 21:03:34 +02:00