Semaphore is used for waiting for socket termination instead of efd

Efd is a rather expensive object (depending on the platform).
Semaphore is cheaper. At the same time is is interruptible by
SIGINT (unlike condition variable).

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Merge branch 'master' of https://github.com/250bpm/nanomsg
Timeout in inproc test extended

I've seen this timeout expire on out Solaris build box (erzika).
Doubling the value should help.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
nn_close() can be interrupted by signal

Blocking nn_close() can now return EINTR error and can
be re-started afterwards.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
nn_ep_close now returns -EINPROGRESS in case of delayed close

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Add pthread to CMake sem_wait check. Fixes #53

Some systems have sem_wait in librt, some in libpthread.
This add pthread to the CMake check for semaphore support.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Implementation of nn_sem for OSX

OSX semaphores are broken. This patch simulates the semaphore
by using condition variable.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Missing return value from nn_sock_destroy() added.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Tests scale back in case they exhaust avaialable file descriptors

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Windows implementation of nn_sem added.

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
nn_zmq(7) updated to reflact new names of protocol-specific constants

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
NN_BUS constant added to nn_zmq(7) man page

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Fixed formatting and archive type for target "package_source" for win32 and non-win32 platforms

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Added support for specifying local address when connecting

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
TCP transport allows to specify local interfce when connecting

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
added pkgconfig for UNIX

1. Added nanomsg.pc file generation for pkg-config (for UNIX only)
2. Added information to README to choose different installation directory

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Missing pkgconfig.in added

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
New test added to tests/tcp.c

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Rigorous validation of TCP connection strings

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Minor renaming (list->item)

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>