Windows assert on wakeup from sleep

Description

I haven't yet tested all cases where I get an assertion on wakeup from sleep (system sleep mode) but this one example is just spitting out messages on xreq to a non-existant host but I get the same error when there's a listener on the other end. I can attach other failure tests if required. I've attached the error on the console from a debug build as well as the backtrace.

#include <zmq.hpp>

int main(void)
{
zmq::context_t context(1);
zmq::socket_t socket(context, ZMQ_XREQ);
zmq::message_t message;

socket.connect("tcp://google.ca:1234");

while (true) {
socket.send(message);
}

system("pause");
}

Console output

Unknown error
error == WSAECONNREFUSED || errno == WSAETIMEDOUT || errno == WSAECONNABORTED || errno == WSAEHOSTUNREACH (c:\zeromq-2.1.6\src\tcp_connecter.cpp:123)

Backtrace

zmq_sleep.exe!_NMSG_WRITE(int rterrnum) Line 217 C
zmq_sleep.exe!abort() Line 61 + 0x7 bytes C
zmq_sleep.exe!zmq::tcp_connecter_t::connect() Line 123 + 0x6c bytes C++
zmq_sleep.exe!zmq::zmq_connecter_t::out_event() Line 77 + 0xb bytes C++
zmq_sleep.exe!zmq::zmq_connecter_t::in_event() Line 72 + 0xf bytes C++
zmq_sleep.exe!zmq::select_t::loop() Line 182 + 0x2d bytes C++
zmq_sleep.exe!zmq::select_t::worker_routine(void * arg_) Line 205 C++
zmq_sleep.exe!thread_routine(void * arg_) Line 32 + 0x10 bytes C++
zmq_sleep.exe!_callthreadstartex() Line 314 + 0xf bytes C
zmq_sleep.exe!_threadstartex(void * ptd) Line 297 C
kernel32.dll!756733ca()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!77419ed2()
ntdll.dll!77419ea5()

Environment

None

Status

Assignee

Unassigned

Reporter

sebastient

Labels

None

Priority