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
Min RK
bdcaa935b9
zmq_poll calls zmq_poller if available
...
enables zmq_poll on threadsafe sockets only supported in zmq_poller (radio, dish, etc.)
2016-09-28 13:53:57 +02:00