Hi Pieter, On 22 December 2012 12:06, Pieter Hintjens <[email protected]> wrote: > Yes, this seems to be a bug. I've logged an issue > https://zeromq.jira.com/browse/LIBZMQ-487 and uploaded a test case: > https://github.com/zeromq/issues/blob/master/487/issue.c. > Thanks!
> However I'd advise against retrying a connect. Since you're using this > between threads, you can arrange the thread creation order to always > do the bind (in the parent) before the connect (in the child). > In the rare case where you want to inproc between two child threads, get the > first one to signal to its parent that it's ready before starting the > second one. That's the approach I'll have to take as my use case is there being N children, where child 1 sets up the bind() and children 2 to N connect() to child 1. Thanks for your help, Andy > > -Pieter > > On Fri, Dec 21, 2012 at 12:28 PM, Andy Ballingall TF > <[email protected]> wrote: >> Hi Pieter, >> >>> For inproc connect works synchronously and requires that bind has >>> happened already. See http://api.zeromq.org/3-2:zmq-inproc#toc4 >>> >>> It's not consistent with tcp:// and ipc:// but it does work in most cases. >> >> The odd thing I'm seeing though is that If my first connect() happens >> to beat the first bind(), - failing as expected - it appears that all >> the future attempts to connect() fail too, even though most of them >> certainly are happening after the bind() has had plenty of time to >> complete. >> >> If I ensure bind() happens first by using a small sleep() after >> spawning the thread which does the bind(), then it all works fine as >> you say (and I'm running with this workaround for now). >> >> So it's just this question of whether I should be able to retry an >> initially failing connect() until it succeeds (assuming the bind() >> completes). My test program recreates the scenario with a retry-loop, >> but I can't seem to get the connect() to work at all if it failed >> once, but I'm quite new to zmq and might be making some basic error. >> >> Thanks, >> Andy >> >>> >>> -Pieter >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >> >> >> >> -- >> Andy Ballingall >> Senior Software Engineer >> >> The Foundry >> 6th Floor, The Communications Building, >> 48, Leicester Square, >> London, WC2H 7LT, UK >> Tel: +44 (0)20 7968 6828 - Fax: +44 (0)20 7930 8906 >> Web: http://www.thefoundry.co.uk/ >> >> The Foundry Visionmongers Ltd. >> Registered in England and Wales No: 4642027 >> _______________________________________________ >> zeromq-dev mailing list >> [email protected] >> http://lists.zeromq.org/mailman/listinfo/zeromq-dev > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev -- Andy Ballingall Senior Software Engineer The Foundry 6th Floor, The Communications Building, 48, Leicester Square, London, WC2H 7LT, UK Tel: +44 (0)20 7968 6828 - Fax: +44 (0)20 7930 8906 Web: http://www.thefoundry.co.uk/ The Foundry Visionmongers Ltd. Registered in England and Wales No: 4642027 _______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
