* Fixed handling of WSAEWOULDBLOCK to be generic
I don't know what was the intention of this early if statement but
now this is properly evaluated in wsa_error_no function if this is
performance issue I suggest moving evaluating this error code to the
beginning of wsa_error_no.
* Fixed handling of WSAEWOULDBLOCK to be generic
Introduced default pointer to const char * and overrides this as NULL
if function is called by zmq::wsa_error()
* Fixed handling of WSAEWOULDBLOCK to be generic
Introduced default pointer to const char * and overrides this as NULL
if function is called by zmq::wsa_error()
Solution: fix the check for the socket.
This regression happens when using zloop with zmq_pollitem_it with
only file descriptors registerted through zloop_poller.
On native Windows, the file system is case-insensitive, so this this
doesn't matter there.
However, when compiling on a case-sensitive filesystem, such as when
cross-compiling from a Unixoid using mingw, we have to use the case
the file is supplied with, which is all lowercase.
Solution: restore inclusion of poll.h if using poll before zmq.h as
it was originally, as AIX redefines the POSIX structures and provides
compatibility macros.
Also add alternative aliases for 32 bit AIX's pollitem struct:
events -> reqevents
revents -> rtnevents
1. stl container is not thread safety
2. rm_fd() and loop() end to clear the retired event source will in multi-thread operation
3. may be crashed in reaper thread to delete the items in the std::vector as the source is nullptr
1. stl container is not thread safety
2. rm_fd() and loop() end to clear the retired event source will in multi-thread operation
3. may be crashed in reaper thread to delete the items in the std::vector as the source is nullptr
Solution: set SOVERSION in CMakeLists to match the SONAME generated
by libtool so that there is no mismatch between the output of the
*NIX build systems.
Before:
$ ls -l
total 2696
lrwxrwxrwx 1 luca luca 15 Dec 1 22:36 libzmq.so -> libzmq.so.4.2.0
lrwxrwxrwx 1 luca luca 15 Dec 1 22:36 libzmq.so.4.2.0 -> libzmq.so.4.2.1
-rwxr-xr-x 1 luca luca 906168 Dec 1 22:36 libzmq.so.4.2.1
$ readelf -d libzmq.so.4.2.1 | grep SONAME
0x000000000000000e (SONAME) Library soname: [libzmq.so.4.2.0]
After:
$ ls -l
total 2700
lrwxrwxrwx 1 luca luca 15 Dec 1 22:31 libzmq.so -> libzmq.so.5.1.0
-rwxr-xr-x 1 luca luca 906168 Dec 1 22:31 libzmq.so.4.2.1
lrwxrwxrwx 1 luca luca 15 Dec 1 22:31 libzmq.so.5.1.0 -> libzmq.so.4.2.1
$ readelf -d libzmq.so.4.2.1 | grep SONAME
0x000000000000000e (SONAME) Library soname: [libzmq.so.5.1.0]