[zeromq-dev] Assert in signaller.cpp on XP if Cisco VPN Client isinstalled - possible fix

Martin Robinson martin.robinson at dai.co.uk
Fri Mar 22 16:50:58 CET 2013


I'm pretty sure it failed with ECONREFUSED and returned an error message
'Connection refused'. 

I suspect using ephemeral ports would probably solve the issue. I might
have a play with that in due course, because as KIU Shueng Chuan pointed
out, my solution will blow up if more than one ZeroMQ process was
running at once.

I think this is all caused by some strange timing issue, as if the old
listening socket is not really deleted immediately, such that the
connect() call sees the dying socket instead of the newly created one. I
did try putting in a Sleep(1000) before the connect, and it seemed to
make no difference.

Martin

-----Original Message-----
From: zeromq-dev-bounces at lists.zeromq.org
[mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Pieter
Hintjens
Sent: 22 March 2013 15:27
To: ZeroMQ development list
Subject: Re: [zeromq-dev] Assert in signaller.cpp on XP if Cisco VPN
Client isinstalled - possible fix

Could you get the detailed error message from the failed connect() call?

The code does look accurate so it might be a Windows weirdness -
SO_REUSEADDR not working.

It should be easy to isolate and test with a stand-alone piece of code.

If there's no other solution then we might use ephemeral ports instead
of reusing the same listening port over and over.

-Pieter
_______________________________________________
zeromq-dev mailing list
zeromq-dev at lists.zeromq.org
http://lists.zeromq.org/mailman/listinfo/zeromq-dev



More information about the zeromq-dev mailing list