Pieter Hintjens
94b6fca406
Merge pull request #1495 from brian-peloton/fix-test-flakiness
...
Increase sleep in test to fix flakiness under CPU load.
2015-07-28 22:57:46 +02:00
Pieter Hintjens
5dee46052d
Merge pull request #1494 from brian-peloton/fix-partial-recv-in-test
...
Retry recv if it only returns part of a message during tests.
2015-07-28 22:57:35 +02:00
Pieter Hintjens
4152023854
Merge pull request #1493 from brian-peloton/fix-other-test-flakiness
...
Fix test flakiness.
2015-07-28 22:57:22 +02:00
Pieter Hintjens
6dfe8f20e2
Merge pull request #1492 from brian-peloton/fix-memory-leak
...
Fix a documented memory leak.
2015-07-28 22:57:11 +02:00
Constantin Rack
80adc135c7
Merge pull request #1491 from brian-peloton/fix-eventfd-under-load
...
Fix eventfd read handling under heavy load.
2015-07-28 22:56:36 +02:00
Brian Silverman
c4c5135db6
Retry recv if it only returns part of a message during tests.
...
Under linux 3.16.0-4-amd64, I was getting occasional test failures
before fixing this.
2015-07-28 13:48:48 -07:00
Brian Silverman
62a0e45089
Fix eventfd read handling under heavy load.
...
I had the assertion below fail occasionally when running the libzmq
tests under heavy CPU load on linux 3.16.0-4-amd64.
2015-07-28 13:48:36 -07:00
Brian Silverman
e449d7bfbd
Fix test flakiness.
...
I'm pretty sure this is an issue with the test being too picky and not a
bug, but the behavior in this situation is not well documented.
2015-07-28 13:48:23 -07:00
Brian Silverman
97969808f6
Fix a documented memory leak.
...
Despite the old comments, re-initing the msg_t leaks a refcount to
metadata in some situations.
v1_decoder looks like it isn't tested any more, but it seems like a good
idea to fix it because it has the exact same piece of buggy code
v2_decoder does.
2015-07-28 13:48:13 -07:00
Brian Silverman
f86bded783
Increase sleep in test to fix flakiness under CPU load.
2015-07-28 13:47:56 -07:00
Brian Silverman
cb0491ca18
Add a way to disable libzmq's internal test timeout.
...
It's nice to be able to disable libzmq's internal timeout when there's
another timeout in the test runner being used which gives nicer error
messages.
2015-07-28 13:47:19 -07:00
Joe Eli McIlvain
7b2e37dc90
Merge pull request #1490 from evoskuil/master
...
Problem: VS builds missing files, have warnings.
2015-07-26 21:46:44 -07:00
evoskuil
81aa6f45a4
Style and explicitness.
2015-07-26 17:37:38 -07:00
evoskuil
6f0efc092c
Make lossy cast explicit.
2015-07-26 17:37:28 -07:00
evoskuil
342c417f9d
Add decoder_allocators to VS builds.
2015-07-26 17:37:18 -07:00
Constantin Rack
0917eceb6d
Merge pull request #1489 from pijyoi/fix_1488
...
fix #1488 Heap buffer overflow in decoder
2015-07-25 11:53:56 +02:00
KIU Shueng Chuan
2182bc963d
check for potential unsigned integer wraparound before adding
2015-07-25 17:46:46 +08:00
Pieter Hintjens
7701a8f936
Merge pull request #1487 from pijyoi/stream_notify
...
don't break STREAM socket ABI from 4.1.x to 4.2.0
2015-07-24 00:11:23 +02:00
KIU Shueng Chuan
fd51b0e508
update test that relied on connect notifications to be disabled
2015-07-24 05:39:47 +08:00
KIU Shueng Chuan
3e7d737360
change ZMQ_STREAM_NOTIFY to default to 1
2015-07-24 05:21:53 +08:00
KIU Shueng Chuan
518b939f31
make ZMQ_STREAM_NOTIFY also control disconnect notificatons
2015-07-24 05:21:53 +08:00
Pieter Hintjens
588e0d2d86
Merge pull request #1486 from jimenezrick/fix-1478
...
Fix 1478: receive unsubscriptions in XPUB when verbose
2015-07-23 13:07:01 +02:00
Ricardo Catalinas Jiménez
ec5592db1f
Fix 1478: receive unsubscriptions in XPUB when verbose
...
Fixes not receiving unsubscription messages in XPUB socket with
ZMQ_XPUB_VERBOSE and using a XSUB-XPUB proxy in front.
This adds two modifications:
- It adds a new flag, ZMQ_XPUB_VERBOSE_UNSUBSCRIBE, to enable verbose
unsubscription messages, necessary when using a XSUB/XPUB proxy.
- It adds a boolean switch to zmq::mtrie_t::rm () to control if the
callback is invoked every time or only in the last removal. Necessary
when a pipe is terminated and the verbose mode for unsubscriptions is
enabled.
2015-07-23 12:02:34 +01:00
KAPP Arnaud
305c07583d
Merge pull request #1485 from ricnewton/master
...
Fix windows build
2015-07-23 10:14:57 +02:00
Richard Newton
91877a22d7
Fix windows build
2015-07-23 08:49:03 +01:00
Richard Newton
a4509d8f88
Merge pull request #1484 from pijyoi/fixsmash
...
fix #1447 Segfault or Abort after PR #1441
2015-07-23 08:26:15 +01:00
Joe Eli McIlvain
93218a60ae
Merge pull request #1483 from ktf/master
...
Fix compilation on mac.
2015-07-22 12:58:35 -07:00
Giulio Eulisse
e2be0d25bd
Fix compilation on mac.
2015-07-22 21:31:48 +02:00
Joe Eli McIlvain
5fead473a4
Merge pull request #1482 from brian-peloton/master
...
Fix memory leak when creating a socket fails.
2015-07-22 11:39:39 -07:00
Brian Silverman
773a06fc23
Fix memory leak when creating a socket fails.
...
Previously, AddressSanitizer flagged leaks when running
tests/test_many_sockets.cpp.
2015-07-22 11:18:48 -07:00
KIU Shueng Chuan
708353a1b9
advance refcnt only if it was used
2015-07-22 21:19:22 +08:00
Joe Eli McIlvain
c05a475bf7
Merge pull request #1481 from brian-peloton/master
...
Fix several missing msg_t::close calls.
2015-07-21 20:45:31 -07:00
Brian Silverman
18791f2bfb
Fix several missing msg_t::close calls.
...
I traced memory leaks found using AddressSanitizer down to these.
2015-07-21 19:42:20 -07:00
Constantin Rack
3f70aca749
Merge pull request #1480 from brian-peloton/master
...
Fix test_proxy hanging occasionally by setting ZMQ_LINGER to 0.
2015-07-21 08:04:54 +02:00
Brian Silverman
a88524d388
Fix test_proxy hanging occasionally by setting ZMQ_LINGER to 0.
2015-07-20 19:41:23 -07:00
Joe Eli McIlvain
b71f720cdc
Merge pull request #1479 from jens-auer/issue1477
...
Fixed #1477 corruption in "zero-copy" raw_decoder for payloads large…
2015-07-20 16:39:53 -04:00
Jens Auer
6b9b13be6c
Fixed whitespace error.
2015-07-20 22:34:22 +02:00
Jens Auer
23797120ff
Fixed #1477 corruption in "zero-copy" raw_decoder for payloads larger than 8192 bytes #1477
...
Fixed wrong message::init arguments.
2015-07-20 22:22:13 +02:00
Pieter Hintjens
15e35c52e7
Merge pull request #1475 from jimenezrick/fix-doc-setsockopt
...
Fix doc formatting issues in zmq_setsockopt page
2015-07-19 14:19:57 +02:00
Ricardo Catalinas Jiménez
7030bc429a
Fix doc formatting issues in zmq_setsockopt page
2015-07-19 12:20:45 +01:00
Pieter Hintjens
6653775a31
Merge pull request #1474 from leonarf/patch-1
...
THREAD PRIORITY option documentation
2015-07-16 12:51:56 +02:00
leonarf
4a5998382c
THREAD PRIORITY option documentation
...
Added documentation about context's options ZMQ_THREAD_SCHED_POLICY and ZMQ_THREAD_PRIORITY
2015-07-16 08:59:19 +02:00
Constantin Rack
311f4d00e4
Merge pull request #1472 from reunanen/allow-explicitly-setting-buf-sizes-to-0
...
Allow explicitly setting buf sizes to 0
2015-07-08 11:20:45 +02:00
Juha Reunanen
7362f3af0f
update documentation regarding the rcvbuf parameter
2015-07-08 11:59:47 +03:00
Juha Reunanen
8096990e45
update documentation regarding the sndbuf and rcvbuf parameters
2015-07-08 11:41:42 +03:00
Juha Reunanen
f7b933f570
LIBZMQ-195 allow explicitly setting sndbuf and rcvbuf to 0 (see https://support.microsoft.com/en-us/kb/201213 )
2015-07-08 11:31:34 +03:00
Pieter Hintjens
72a94881de
Merge pull request #1471 from reunanen/retry-on-WSAENOBUFS
...
on Windows, handle WSAENOBUFS like WSAEWOULDBLOCK
2015-07-07 21:51:36 +02:00
Pieter Hintjens
adafdb8f4f
Merge pull request #1470 from reunanen/check-msg-type-in-rm_refs
...
add message type sanity check in msg_t::rm_refs
2015-07-07 21:50:35 +02:00
Juha Reunanen
ccb13e1732
add sanity check in msg_t::rm_refs in order to avoid invalid memory access with u.zclmsg.refcnt
2015-07-07 19:31:46 +03:00
Juha Reunanen
8339271a3e
LIBZMQ-195 on Windows, handle WSAENOBUFS like WSAEWOULDBLOCK
2015-07-07 13:38:10 +03:00
Pieter Hintjens
db898deb09
Merge pull request #1469 from tkoeppe/master
...
[decoder.hpp] Fix misspelled inclusion
2015-07-06 01:23:52 +02:00
Thomas Köppe
29b45489fa
[decoder.hpp] Fix misspelled inclusion
2015-07-06 00:20:59 +01:00
Pieter Hintjens
d60040ddea
Merge pull request #1468 from tkoeppe/master
...
[decoder*] Style fixes for consistency
2015-07-06 01:12:58 +02:00
Thomas Köppe
5b4b8a063b
[decoder*] Style fixes for consistency
2015-07-06 00:01:52 +01:00
Pieter Hintjens
e83bad14cd
Merge pull request #1467 from jens-auer/upstream
...
Addressed comments from T. Köppe
2015-07-06 00:06:54 +02:00
Jens Auer
ef365151ca
- Replaced C-style casts with C++-casts
...
- Replaced stdlib.h with cstdlib
- Made single-argument constructors explicit
2015-07-05 23:19:41 +02:00
Pieter Hintjens
f541ac9612
Merge pull request #1466 from jens-auer/upstream
...
"zero-copy" raw_decoder
2015-07-05 16:18:04 +02:00
Jens Auer
3679793601
"zero-copy" raw_decoder
...
A memcpy is eliminated when receiving data on a ZMQ_STREAM socket. Instead
of receiving into a static buffer and then copying the data into the
buffer malloced in msg_t::init_size, the raw_decoder allocates the memory
for together with the reference-counter and creates a msg_t object
on top of that memory. This saves the memcpy operation.
For small messages, data is still copied and the receive buffer is reused.
2015-07-05 16:05:46 +02:00
Joe Eli McIlvain
d83220e92e
Merge pull request #1465 from tkoeppe/master
...
Clean-up: Rename internal macros consistently.
2015-07-02 12:59:39 -04:00
Thomas Köppe
14d69a312d
Clean-up: Rename internal macros consistently.
2015-07-02 17:41:09 +01:00
Pieter Hintjens
6059e8eea7
Merge pull request #1461 from tkoeppe/master
...
Add C++11 atomic support also to atomic_counter_t.
2015-07-01 18:30:49 +02:00
Thomas Köppe
ddb82a546b
atomic_counter.hpp: clean up the clean-up
2015-07-01 09:55:43 +01:00
Thomas Köppe
26e3873f70
Add C++11 support to atomic_counter_t.
2015-07-01 09:55:25 +01:00
Pieter Hintjens
010f93b34c
Merge pull request #1460 from tkoeppe/master
...
atomic_ptr.h: clean up the clean-up
2015-07-01 00:11:07 +02:00
Thomas Köppe
73e6a3808f
atomic_ptr.h: clean up the clean-up
2015-06-30 22:57:13 +01:00
Pieter Hintjens
80b1e67e45
Merge pull request #1459 from tkoeppe/master
...
Add missing relaxed memory ordering.
2015-06-30 23:35:29 +02:00
Thomas Köppe
08f9bf589e
Add missing relaxed memory ordering.
2015-06-30 22:26:35 +01:00
Pieter Hintjens
f448dcde35
Merge pull request #1458 from tkoeppe/master
...
Add support for <atomic> in C++11
2015-06-30 22:39:40 +02:00
Thomas Köppe
68f5926ec6
Add support for <atomic> in C++11
2015-06-30 20:57:38 +01:00
KAPP Arnaud
f3ef027e87
Merge pull request #1457 from calid/ignore-unbind-tests
...
ignore unbind tests
2015-06-30 10:56:52 +02:00
Dylan Cali
ee787664bb
ignore unbind tests
2015-06-29 03:19:24 -05:00
Pieter Hintjens
818491e7ee
Merge pull request #1455 from calid/update-gitignore
...
update gitignore with additional tests
2015-06-29 08:08:57 +02:00
Pieter Hintjens
9802dd5933
Merge pull request #1456 from calid/issue-949-tests
...
add tests for #949
2015-06-29 08:04:53 +02:00
Dylan Cali
0f208c122d
be pedantic and call zmq_close in tests
2015-06-28 22:32:15 -05:00
Dylan Cali
d14f419743
another errant comment
2015-06-28 21:29:23 -05:00
Dylan Cali
6dac5092ad
fix errant comments
2015-06-28 21:27:06 -05:00
Dylan Cali
a9fd750e1c
add tests for #949
2015-06-28 21:23:25 -05:00
Dylan Cali
34129593f0
update gitignore with additional tests
2015-06-28 21:13:02 -05:00
Pieter Hintjens
6ab66ca51a
Merge pull request #1451 from jbreams/heartbeat-defaults
...
Fix units and default values for heartbeats options
2015-06-26 20:31:46 +02:00
Jonathan Reams
e9a5bc8d1e
Fix units and default values for heartbeats options
...
Set the ZMQ_HEARTBEAT_TIMEOUT to default to the value of
ZMQ_HEARTBEAT_IVL if it's not explicitly set.
Change the units of ZMQ_HEARTBEAT_TTL to milliseconds in the API
and round down to the nearest decisecond so that all the options
are using the same units.
Make the maximum heartbeat TTL match the spec (6553 seconds)
2015-06-26 14:25:58 -04:00
Pieter Hintjens
2e5435e38f
Merge pull request #1449 from jbreams/heartbeats-docswindows
...
Add documentation for ZMTP heartbeats/fix test
2015-06-24 21:13:32 +02:00
Jonathan Reams
85417ba2fc
Add documentation for ZMTP heartbeat socket options
2015-06-24 15:02:53 -04:00
Jonathan Reams
df0c7076bd
Fix test_heartbeats compile in VS2013
2015-06-24 14:28:36 -04:00
Pieter Hintjens
3a27be3b6c
Merge pull request #1448 from jbreams/heartbeats
...
Add ZMTP connection heartbeats
2015-06-24 19:42:41 +02:00
Jonathan Reams
cbb3b176a6
Add ZMTP heartbeats
...
This commit adds ZMTP connection heartbeats described in
http://rfc.zeromq.org/spec:37/ZMTP .
2015-06-24 13:24:53 -04:00
Constantin Rack
4b4e00bde0
Merge pull request #1446 from dnaeon/typo-fix
...
Typo fix
2015-06-23 10:47:31 +02:00
Marin Atanasov Nikolov
fa3b5d8b03
Typo fix
2015-06-23 14:45:51 +03:00
Richard Newton
f9d0dab630
Merge pull request #1445 from c-rack/fix-resolve-ipv6
...
Problem: zmq::socket_base_t::connect fails on tcp ipv6 address
2015-06-23 08:10:48 +01:00
Constantin Rack
15f9ee19cb
Solution: allow brackets in tcp ipv6 address
2015-06-23 08:54:49 +02:00
Pieter Hintjens
d33fb6a2af
Merge pull request #1441 from jens-auer/rebase3
...
Rebase3
2015-06-14 14:13:49 +02:00
Jens Auer
e70b5efa0b
Reuse buffer when no messages depend on it.
2015-06-14 14:01:04 +02:00
Jens Auer
51cb57e2c9
Fixed wrong handling of shared messages
...
The shared reference count was not shared but copied. msg_t cannot
store the refcnt itsef but has to store a pointer to an externally
allocated (shared) refcnter. The changes to lmsg are reverted to
use content_t again. Howver, this introduces an allocation in v2_decoder
when creating the message which can be avoided. When allocating the reception
buffer, space is allocated for the maximum number of reference counts
(8192 / max_vsm_size = 8192/64 = 128 zmq:atomic_counter objects). This
increases the buffer by 128*sizeof(atomic_counter) = 128*4 = 512 bytes only.
When creating a message, the refcnt member is set to the address of one of the
pre-allocated atomic_counter_t objects. To do so, a new msg_t type zcmsg
is introduced because msg::copy must discriminate between the message types
when releasing memory.
2015-06-14 13:35:33 +02:00
Jens Auer
dfe1908008
Fixed wrong buffer end detection in v2_decoder.
...
zero-copy msg_t::init cannot be used when the message exceeds either
the buffer end or the last received byte. To detect this, the buffer
is now resized to the numnber of received bytes.
2015-06-14 13:35:23 +02:00
Constantin Rack
b3f2acf7d6
Merge pull request #1440 from xaqq/fix_solaris_build
...
Probably fix build issue on Solaris.
2015-06-13 22:20:23 +02:00
Kapp Arnaud
8ffd723271
Probably fix build issue on Solaris.
...
See #1220 recent comments. This change is untested yet seems
safe.
2015-06-13 22:08:14 +02:00
KAPP Arnaud
6d4d7a5820
Merge pull request #1439 from hintjens/master
...
Problem: 4.1 broke the ABI yet did not bump ABI number
2015-06-12 01:32:22 +02:00
Pieter Hintjens
6f1d1142d1
Problem: 4.1 broke the ABI yet did not bump ABI number
...
Solution: bump to ABI version 5
2015-06-11 23:53:23 +02:00
Pieter Hintjens
8fb5590ba8
Merge pull request #1437 from ricnewton/master
...
Fix windows build
2015-06-10 18:17:56 +02:00
Richard Newton
f696d0399c
Fix tabbing
2015-06-10 16:47:23 +01:00
Richard Newton
8484e1606d
Fix windows build
2015-06-10 16:43:59 +01:00