Commit Graph

5230 Commits

Author SHA1 Message Date
Doron Somech
16f584745d Merge pull request #2179 from bluca/alignment_windoz
Problem: MS VC++ build broken
2016-10-29 12:32:09 +03:00
Luca Boccassi
2484d1c859 Problem: MS VC++ build broken
Solution: try to detect architecture if building with VC++ and
hardcode pointer size accordingly.
Expressions are not allowed inside declspec intrinsics, which
includes other intrinsics.
2016-10-28 17:14:00 +01:00
Doron Somech
ac14981651 Merge pull request #2177 from bluca/alignment
Problem: pointer union for zmq_msg_t is a hack
2016-10-28 18:00:06 +03:00
Luca Boccassi
df367a6682 Problem: pointer union for zmq_msg_t is a hack
Solution: use compiler's alignment attributes instead which is
clearer and less of a hack.
Pointer alignment violations causing crashes on architectures
such as sparc64 and aarch64.
This also avoid triggering ABI checkers as the change is compatible
even though applications that suffer from the bug should rebuild to
take advantage of the fix.
2016-10-28 15:18:48 +01:00
Luca Boccassi
0d032c99a6 Merge pull request #2176 from robertcastle/master
clock_gettime is now defined in macOS 10.12 SDK
2016-10-28 11:29:58 +01:00
Robert Castle
0dfb32a259 Problem: clock_gettime is now defined in macOS 10.12 SDK
Solution: Rename the custom implementation of clock_gettime for macOS to
alt_clock_gettime and wrap all usage in preprocessor macros to only enable the
alternative version when using macOS <= 10.11.

This issue occurs when targeting macOS 10.11 or earlier but using the 10.12
or newer SDK.
2016-10-28 11:04:21 +01:00
Constantin Rack
2e9264354c Merge pull request #2173 from bluca/without_docs
Problem: build API incompatible with 4.1
2016-10-27 18:34:05 +02:00
Luca Boccassi
8345fe9e95 Problem: build API incompatible with 4.1
Solution: keep the new --without-docs option, but also keep the old
--without-documentation with an added deprecation warning.
We can then remove it in the next major release, to leave enough time
for users and maintainers to change it without disruptions.
2016-10-27 14:20:19 +01:00
Doron Somech
1e69309e21 Merge pull request #2171 from bluca/connect_reuse_addr
Problem: 2 connects with same sourceip:port to different destip:port fail
2016-10-24 00:52:03 +03:00
Luca Boccassi
25bf30bebe Problem: 2 connects with same sourceip:port to different destip:port fail
Solution: during a connect with a TCP endpoint if a source address is
passed set the SO_REUSEADDR flag on the socket before the bind system
call.
Add unit test to cover this case for both IPv4 and IPv6.
2016-10-23 22:31:45 +01:00
Luca Boccassi
669ff41d52 Merge pull request #2170 from vielmetti/patch-1
Update INSTALL to note issues with 'make -j check'
2016-10-23 20:15:26 +01:00
Edward Vielmetti
92b1b2b181 Update INSTALL to note issues with 'make -j check'
Some of the tests cannot be run in parallel; until the Makefile is fixed, note this in INSTALL.
2016-10-23 15:12:45 -04:00
Luca Boccassi
1a02b1b3f2 Merge pull request #2168 from outotec/fix-build-2
Problem: Does not build in Visual Studio 2013 / Win32
2016-10-21 22:23:24 +01:00
Juha Reunanen
bb7421dda2 Problem: Does not build in Visual Studio 2013 / Win32
Solution: #include <netioapi.h> and change some IP_ADAPTER_UNICAST_ADDRESS data types
2016-10-21 21:18:45 +03:00
Luca Boccassi
d8f55dde57 Merge pull request #2164 from reunanen/add-EHOSTUNREACH-to-errno_to_string
Add EHOSTUNREACH to errno_to_string
2016-10-18 08:48:35 +01:00
Juha Reunanen
57c765ef5a Add EHOSTUNREACH to errno_to_string 2016-10-18 06:46:50 +03:00
Luca Boccassi
6ce2fb2b06 Merge pull request #2162 from hnwyllmm/master
performance enhancement
2016-10-14 13:55:13 +01:00
Laughing
c5b528fdcd performance enhancement
use clock_gettime if there is no instruction to get cpu tick. It will take about 10% performance enhancement in AIX 7.1.
2016-10-14 20:33:27 +08:00
Jens Auer
b031325996 Fixed problems from previous PR for #2158 (#2160)
* - Fixed windows build errors
- Extended monitor lock scope to prevent race-condition between
  process_stop and monitor

* - Fixed windows build errors
- Extended monitor lock scope to prevent race-condition between
  process_stop and monitor
2016-10-12 10:34:22 +01:00
Luca Boccassi
398f256a5c Merge pull request #2159 from jens-auer/2158
#2158: Add mutex for monitor socket
2016-10-11 16:07:29 +01:00
Jens Auer
d1c7280d05 Add mutex for monitor socket 2016-10-11 13:28:45 +00:00
Constantin Rack
23be1dc0ec Merge pull request #2157 from athampy/master
Fixed issue #2155
2016-10-11 05:56:26 +02:00
Akhil Thampy
134f08b3ca Fixed issue #2155 2016-10-10 17:50:50 -05:00
Mário Kašuba
f6962903a7 Implemented network interface name resolution on Windows platform
Added fallback mechanism for specific socket binding on Windows platform with IPv6 enabled
2016-10-10 17:29:53 +02:00
Mário Kašuba
3996d4e20d Merge branch 'master' of github.com:zeromq/libzmq
# Conflicts:
#	builds/msvc/vs2012/libsodium.import.props
2016-10-10 11:02:32 +02:00
Doron Somech
c30da71735 Merge pull request #2156 from yasirs/patch-WSL
Patch for compatibility with Windows subsystem for linux
2016-10-09 09:01:24 +03:00
yasirs
36af3edee2 Update tcp_address.cpp 2016-10-09 00:48:35 -04:00
Doron Somech
9780945d7c Merge pull request #2152 from t-b/fix_socket_docu
Problem: Invalid markup in zmq_socket.txt
2016-10-07 17:40:37 +03:00
Thomas Braun
a151ac5936 Problem: Invalid markup in zmq_socket.txt
Solution: Fix it.
2016-10-07 16:37:30 +02:00
Doron Somech
7f8c17b124 Merge pull request #2150 from bluca/request
Problem: a request
2016-10-04 17:59:30 +03:00
Luca Boccassi
c592897f60
Problem: a request
Solution: honor it
2016-10-04 15:48:12 +01:00
Luca Boccassi
075dd6a003 Merge pull request #2148 from WGH-/doc-router-mandatory-block
doc/zmq_socket.txt: clarify that ROUTER can be blocking
2016-10-03 22:21:38 +01:00
WGH
eb0e0dda4e doc/zmq_socket.txt: clarify that ROUTER can be blocking 2016-10-03 23:39:34 +03:00
Luca Boccassi
88e4cff948 Merge pull request #2147 from goodfella/fix-zmq-poller-poll-return
Fix zmq poller poll return
2016-10-01 11:44:08 +01:00
Nick Guiffrida
ffdb44ad2c Fix zmq_poll return code assert in tests/test_radio_dish.cpp 2016-09-30 21:50:31 -07:00
Nick Guiffrida
1a2d58e4e7 Add #ifndef ZMQ_HAVE_WINDOWS guard around unistd.h include 2016-09-30 21:30:04 -07:00
Nick Guiffrida
f3de534897 Do not assign rc to zmq_poller_destroy in zmq_poller_poll
* Doing so was zmq_poller_poll to always return 0.
2016-09-30 21:10:25 -07:00
Nick Guiffrida
f46e45c263 Include unitstd.h in src/stream_engine.cpp for close system call 2016-09-30 21:10:05 -07:00
Luca Boccassi
6c1669371a Merge pull request #2145 from minrk/zmq-poll-repeat
allow duplicate entries in zmq_poller_poll
2016-09-29 15:36:55 +01:00
Min RK
fb5a04e21d allow duplicate entries in zmq_poller_poll
This should restore full compatibility with earlier zmq_poll behavior.

It complicates things a little bit, as collisions must be detected, and when collisions are found:

- event masks must be merged
- pollitems, events arrays are no longer co-ordered

Reverts the recent zmq_proxy patch to workaround the lack of repeat-item support in zmq_poll that is now fixed.
2016-09-29 16:33:02 +02:00
Luca Boccassi
ae0676e80d Merge pull request #2144 from minrk/fix-poller
Resolve issues with zmq_poll and zmq_poller working together
2016-09-29 15:07:18 +01:00
Min RK
310dafbc75 zmq_poll returns 0 on timeout
not -1, ETIMEDOUT like zmq_poller
2016-09-29 15:44:31 +02:00
Min RK
718608ce94 socket_poller::wait returns only triggered events
Return value is the number of events found. This also propagates to the return value of zmq_poller_wait_all.

zmq_poller_wait was only returning events on the first-registered socket.
2016-09-29 15:21:52 +02:00
Constantin Rack
872f1e5a9d Merge pull request #2143 from minrk/avoid-duplicate-poller-proxy
avoid passing duplicate entries to zmq_poll
2016-09-29 13:30:15 +02:00
Min RK
c636147c98 avoid duplicate entries in zmq_poll
zmq_poller doesn't allow a socket to appear twice
2016-09-29 12:59:53 +02:00
Luca Boccassi
b0df7f1f17 Merge pull request #2141 from minrk/heap-alloc-poll-events
heap-allocate events in zmq_poller_poll
2016-09-28 15:27:55 +01:00
Min RK
53fb120687 heap-allocate events in zmq_poller_poll
variable-size array allocation is not allowed by some compilers
2016-09-28 15:17:57 +02:00
Luca Boccassi
55930f5e42 Merge pull request #2140 from minrk/zmq_poll_poller
Support all sockets in zmq_poll
2016-09-28 13:00:20 +01:00
Doron Somech
c0b1114944 Merge pull request #2138 from minrk/darwin-clock
only define clock macros on darwin if not already defined
2016-09-28 14:54:25 +03:00
Doron Somech
91e121c9d3 Merge pull request #2139 from minrk/update-poll-based-on-poll
update socket_poller when ZMQ_POLL_BASED_ON_SELECT
2016-09-28 14:54:02 +03:00