Commit Graph

4170 Commits

Author SHA1 Message Date
Pieter Hintjens
500269955d Merge pull request #1604 from wcs1only/master
Fixed for issue  #1315
2015-10-09 15:56:27 +02:00
Charles Stanley
516b440e0d fixes #1315 socket monitor hangs if zmq_bind fails 2015-10-09 09:02:09 -04:00
Constantin Rack
a28398a4e8 Merge pull request #1603 from jizhilong/fix/typo
fix a typo in ypipe.hpp
2015-10-09 05:48:39 +02:00
Zhilong.JI
9a7858245c fix a typo in ypipe.hpp 2015-10-09 10:52:36 +08:00
Constantin Rack
ca52520944 Merge pull request #1602 from scemama/master
Fixes issue #1556
2015-10-07 22:30:53 +02:00
Anthony Scemama
aefc5d120b Default behavior is --with-libsodium=yes 2015-10-07 22:18:08 +02:00
Anthony Scemama
73a0eed75d Fixes issue #1556 2015-10-07 21:45:49 +02:00
Pieter Hintjens
96014ee7ed Merge pull request #1600 from lsniks/master
Issue 1588 : Rollback in case send fails for multipart msg
2015-10-05 20:57:51 +02:00
Nikhil Mishra
8ec747e14a Issue 1588 : Rollback in case send fails for multipart msg 2015-10-05 11:46:48 -07:00
Constantin Rack
cca67fdd1b Merge pull request #1595 from pijyoi/signaler_failable
create signaler::recv_failable()
2015-09-29 06:01:51 +02:00
KIU Shueng Chuan
596d6e5b1c create signaler::recv_failable()
In real world usage, there have been reported signaler failures where the
eventfd read() or socket recv() system call in signaler::recv() fails,
despite having made a prior successful signaler::wait() call.

this patch creates a signaler::recv_failable() method that allows
unreadable eventfd / socket to return an error without asserting.
2015-09-29 09:14:02 +08:00
Richard Newton
52ee724144 Merge pull request #1593 from meox/master
fix error with gcc 5.2
2015-09-27 13:34:48 +01:00
meox
992ac3baa8 fix error with gcc 5.2 2015-09-27 14:24:08 +02:00
Pieter Hintjens
79daac119a Merge pull request #1592 from c-rack/fix-test
Solution: full is if number of msg is greater than hwm, not greater than hwm - 1
2015-09-25 12:26:33 +02:00
Constantin Rack
e4c06bef18 Problem: check_hwm() has different semantic of 'full' 2015-09-25 11:56:54 +02:00
Pieter Hintjens
a8605f576e Merge pull request #1591 from c-rack/check-hwm
Solution: use existing check_hwm() method
2015-09-25 11:36:41 +02:00
Constantin Rack
f1358c1243 Problem: duplicate code for hwm check 2015-09-25 11:24:48 +02:00
Constantin Rack
dd6bb9ae0c Merge pull request #1586 from ricnewton/master
Update cmake to support Visual Studio 2015
2015-09-19 15:51:47 +02:00
Richard Newton
05d0451e29 Update cmake to support Visual Studio 2015 2015-09-19 14:39:18 +01:00
Pieter Hintjens
d89753cbf0 Merge pull request #1585 from msb-at-yahoo/fix-send-doc-typo
Fix typo on send documentation re: nullification
2015-09-18 20:28:50 +02:00
maurice barnum
b12b8ca23b Fix typo on send documentation re: nullification 2015-09-18 11:22:12 -07:00
Constantin Rack
ed1009b3a5 Merge pull request #1584 from ymax/master
fixed zmq assertion in signaler.cpp under ubuntu
2015-09-18 16:57:19 +02:00
Maxim Yakhontov
e9e03f5ade fixed zmq assertion in signaler.cpp under ubuntu 2015-09-18 20:48:08 +06:00
Constantin Rack
2452c598b7 Merge pull request #1582 from pengweichu/master
Fixed the bug which cause the application crashed when use TCP connec…
Fixes #1581
2015-09-17 11:31:10 +02:00
PP
5dc8b51ceb Fixed the bug which cause the application crashed when use TCP connect to an invalid address(such as 192.168.1.255). 2015-09-17 16:59:25 +08:00
Pieter Hintjens
0f51190c27 Merge pull request #1580 from ricnewton/master
Fix windows cmake build
2015-09-14 14:24:37 +02:00
Richard Newton
3f4f3c1137 Fix windows cmake build 2015-09-14 13:21:20 +01:00
Constantin Rack
ee7f2a278a Merge pull request #1579 from staticfloat/patch-2 2015-09-14 07:59:12 +02:00
Elliot Saba
1fbc67a40a Fix pointer indirection precedence issue in docs
Without this change, a segmentation fault is likely to occur when using the proposed snippet of code, as `*address[size]` is equivalent to `*(address[size])`, not `(*address)[size]` as clearly intended.
2015-09-13 20:46:14 -07:00
Constantin Rack
2c94bb42c5 Merge pull request #1578 from hintjens/master
Problem: drop tests on CLIENT/SERVER are misleading
2015-09-13 14:18:49 +02:00
Pieter Hintjens
3f9255019b Problem: description of ZMQ_CLIENT/SERVER has inaccuracies
- both are thread safe
- they do not accept ZMQ_SNDMORE nor ZMQ_RCVMORE
2015-09-13 12:28:43 +02:00
Pieter Hintjens
50859e40b9 Problem: drop tests on CLIENT/SERVER are misleading
These sockets deal only with single part data (at present), so the
drop tests are misleading / inappropriate.

Solution: remove them.
2015-09-13 12:17:53 +02:00
Joe Eli McIlvain
fb57110b94 Merge pull request #1577 from hintjens/master
Various cleanups for CLIENT-SERVER sockets
2015-09-11 14:24:51 -07:00
Pieter Hintjens
f3ee8c69db Problem: request-reply pattern is lousy
REQ-REP barely work, and DEALER-ROUTER are misnamed. As we move to
formalizing CLIENT-SERVER, we can deprecate request-reply.

Solution: move this section to the end of the man page, and mark as
"will be deprecated".
2015-09-11 17:22:37 -04:00
Pieter Hintjens
e7da0ea07b Problem: client/server pattern is not documented
Solution: add man pages/sections for:

 * ZMQ_SERVER
 * ZMQ_CLIENT
 * ZMQ_THREADSAFE
 * zmq_msg_routing_id
 * zmq_msg_set_routing_id
2015-09-11 17:12:58 -04:00
Pieter Hintjens
4db73fc18b Problem: msg.cpp:set_routing_id accepts a zero routing ID
Solution: check/reject a zero routing ID with EINVAL.
2015-09-11 17:09:24 -04:00
Pieter Hintjens
6b00f40f74 Problem: test_client/server_drop_more are invalid
These tests connected CLIENT and SERVER to DEALER... this isn't
allowed. I changed to CLIENT-to-SERVER in both cases. The result
was aborts in client.cpp and server.cpp which cannot handle
invalid multipart data.

I removed the asserts in each of these in xsend.

Solution: fix the test cases and remove the (unwanted?) asserts
in client.cpp:xsend and server.cpp:xsend.
2015-09-11 17:07:50 -04:00
Pieter Hintjens
c2dffb9908 Problem: threadsafe test uses CLIENT-to-CLIENT
Solution: fix to use CLIENT-to-SERVER and increase number of messages
sent to 100K per thread, to better stress thread safety.
2015-09-11 17:01:27 -04:00
Pieter Hintjens
d416ffcec5 Problem: cannot build single test case in tests
This is due to the mangled include of platform.h, which was to make
CMake happy.

Solution: in CMakeLists.txt, define USING_CMAKE and then look for
platform.h in current directory if that is defined, else look in
../src/ as one would expect.
2015-09-11 16:42:26 -04:00
Pieter Hintjens
5e936fe955 Problem: routing ID cycles back to zero
It should never be zero.

Solution: if rid cycles back to zero, bump to 1.
2015-09-11 14:30:27 -04:00
Pieter Hintjens
60fdfd9a1b Problem: whitespace at end of lines, removed 2015-09-11 14:30:20 -04:00
Pieter Hintjens
c5b1de368a Problem: code lets CLIENT connect to CLIENT
This has no sense IMO; people who need this can still use DEALER-DEALER.

Solution: let CLIENT talk only to SERVER.
2015-09-11 13:46:02 -04:00
Pieter Hintjens
87f2dff38c Problem: zmq_msg_get_routing_id () is not consistent with API
We do not use 'get' for getters.

Solution: rename to zmq_msg_routing_id () for public API.
2015-09-11 13:15:00 -04:00
Pieter Hintjens
7be6ad0504 Replaced tabs in some files, with spaces 2015-09-11 13:03:31 -04:00
Constantin Rack
d0ffb91323 Merge pull request #1574 from pijyoi/master
avoid dereferencing uint32_t on unaligned address
2015-09-08 11:40:04 +02:00
KIU Shueng Chuan
25a50ca0d5 avoid dereferencing uint32_t on unaligned address 2015-09-08 17:26:31 +08:00
Pieter Hintjens
734a73c63d Merge pull request #1571 from c-rack/fix-typos
Solution: fix typos
2015-09-06 19:00:56 +02:00
Constantin Rack
bd923f0fbb Problem: some comments contain typos 2015-09-06 18:46:32 +02:00
Pieter Hintjens
3e43258769 Merge pull request #1570 from djelenc/deque_bug
Problem: Tests in Travis are failing randomly
2015-09-06 02:01:02 +02:00
David Jelenc
64ffda90d2 Problem: Tests in Travis are failing randomly
Tests were failing, because some deque calls were causing undefined
behavior: calling front() or pop_front() on an empty deque. Such
calls are now safeguarded.
2015-09-06 01:49:50 +02:00