So I'm tryna run a non-blocking reply server. recv() returns 0 despite no incoming message. int x = 1; x = socket.recv (&request, ZMQ_NOBLOCK); if(x==0){ printf("recv did return 0!\n"); //this happens every time, despite no message } Bug? Workaround? Real or not? All my thanks, Nav