The current implementaion of router socket does not
handle the full pipe and unroutable messages properly.
Namely, in those cases, the socket could route some
message parts into a wrong connection.
The check_write method does not use the passed message.
The parameter was needed to implement the swap.
As the swap is not supported anymore, it is safe to remove this parameter.
The problem is that even though the AI_V4MAPPED flag is defined
on FreeBSD, the getaddrinfo function does not support it and
returns EAI_BADFLAGS.
The patch also sets the flag on Windows if it is defined there.
This is true for Windows Vista and later.
Fixes issue #331.
Previously, sockets were still "valid" after being closed and only marked
as invalid when destroyed. This meant programs could access closed sockets.
Now the socket is marked "invalid" when closed.
* Implemented new ctx API (_new, _destroy, _get, _set)
* Removed 'typesafe' macros from zmq.h
* Added support for MAX_SOCKETS (was tied into change for #337)
* Created new man pages
- reverted commit 941be8d2175332cb720f390f93d07a0870db8824.
- fixed zmq_device implementation for latest socket_base class
- added back zmq_device.3 man page
* Added two new files: errno.hpp and errno.cpp. They are required to use errno functionality on WM.
* zmq.cpp, msg.h: removed inclusion of errno.h because it is included in zmq.h that is also included by .cpp.
* windows.hpp: process.h is included only for desktop builds.
* thread.cpp: on CE CreateThread is used instead of __beginthreadex
* socket_base.cpp, clock.cpp: on CE include cmnintrin.h instead on intrin.h
* signaler.cpp: on Windows should use special macro around event name (for unicode builds)
* err.hpp: make it include errno.hpp (my file) instead on errno.h when building for CE
* err.cpp: use FormatMessage when building for CE (because CE does not have ANSI API functions)
* zmq.h: do not include errno.h whe building for CE
* libzmq.vcproj: add tro new files