mirror of
https://github.com/zeromq/libzmq.git
synced 2024-12-14 11:06:59 +01:00
Merge pull request #405 from jimenezrick/master
Fix LIBZMQ-404: zmq_term not truly re-entrant
This commit is contained in:
commit
84560c1607
@ -173,6 +173,8 @@ int zmq_ctx_destroy (void *ctx_)
|
|||||||
int rc = ((zmq::ctx_t*) ctx_)->terminate ();
|
int rc = ((zmq::ctx_t*) ctx_)->terminate ();
|
||||||
int en = errno;
|
int en = errno;
|
||||||
|
|
||||||
|
// Shut down only if termination was not interrupted by a signal.
|
||||||
|
if (!rc || en != EINTR) {
|
||||||
#ifdef ZMQ_HAVE_WINDOWS
|
#ifdef ZMQ_HAVE_WINDOWS
|
||||||
// On Windows, uninitialise socket layer.
|
// On Windows, uninitialise socket layer.
|
||||||
rc = WSACleanup ();
|
rc = WSACleanup ();
|
||||||
@ -184,6 +186,7 @@ int zmq_ctx_destroy (void *ctx_)
|
|||||||
if (pgm_shutdown () != TRUE)
|
if (pgm_shutdown () != TRUE)
|
||||||
zmq_assert (false);
|
zmq_assert (false);
|
||||||
#endif
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
errno = en;
|
errno = en;
|
||||||
return rc;
|
return rc;
|
||||||
|
Loading…
Reference in New Issue
Block a user