From 9624f9ade7169e77471e056af6beeeab7f96f8ad Mon Sep 17 00:00:00 2001 From: nexcvon Date: Mon, 6 Mar 2017 21:55:30 +0800 Subject: [PATCH] Problem: zmq::signaler_t::send may loop forever Solution: restore the wsa_assert statement previously removed. --- src/signaler.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/signaler.cpp b/src/signaler.cpp index e6ba826b..ff42c110 100644 --- a/src/signaler.cpp +++ b/src/signaler.cpp @@ -189,6 +189,7 @@ void zmq::signaler_t::send () unsigned char dummy = 0; while (true) { int nbytes = ::send (w, (char*) &dummy, sizeof (dummy), 0); + wsa_assert (nbytes != SOCKET_ERROR); if (unlikely (nbytes == SOCKET_ERROR)) continue; zmq_assert (nbytes == sizeof (dummy));