mirror of
https://github.com/zeromq/libzmq.git
synced 2025-03-09 15:26:04 +00:00
set SO_LINGER on first signaler socket to close in order to avoid
TIME_WAIT state.
This commit is contained in:
parent
322808be9c
commit
151a80619b
@ -95,7 +95,11 @@ zmq::signaler_t::~signaler_t ()
|
|||||||
int rc = close (r);
|
int rc = close (r);
|
||||||
errno_assert (rc == 0);
|
errno_assert (rc == 0);
|
||||||
#elif defined ZMQ_HAVE_WINDOWS
|
#elif defined ZMQ_HAVE_WINDOWS
|
||||||
int rc = closesocket (w);
|
struct linger so_linger = { 1, 0 };
|
||||||
|
int rc = setsockopt (w, SOL_SOCKET, SO_LINGER,
|
||||||
|
(char *)&so_linger, sizeof (so_linger));
|
||||||
|
wsa_assert (rc != SOCKET_ERROR);
|
||||||
|
rc = closesocket (w);
|
||||||
wsa_assert (rc != SOCKET_ERROR);
|
wsa_assert (rc != SOCKET_ERROR);
|
||||||
rc = closesocket (r);
|
rc = closesocket (r);
|
||||||
wsa_assert (rc != SOCKET_ERROR);
|
wsa_assert (rc != SOCKET_ERROR);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user