0
0
mirror of https://github.com/zeromq/libzmq.git synced 2024-12-29 00:32:34 +08:00

4000 Commits

Author SHA1 Message Date
Soren Hansen
abc845d1af Avoid terminating connections prematurely
While sending very large messages (far beyond what fits in a the tcp
buffer, so it takes multiple sendto system calls for it to finish),
zmq_close will close the connection regardless of ZMQ_LINGER.

In case no engine is attached, a pipe->check_read() is needed to look
for the delimiter in the pipe and ultimately trigger the pipe
termination.

However, if there *is* an engine attached, the check_read() looks ahead
and finds the delimiter and terminates the connection even though the
engine might actually still be in the middle of sending a message.

This happens because while the io_thread is still busy sending the data,
the pipe can get terminated and the io thread ends up being terminated.
2015-08-06 20:09:37 +02: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