[zeromq-dev] ZMQ_FAIL_UNROUTABLE functionality change / BC

Paul Colomiets paul at colomiets.name
Sun Jun 17 12:06:04 CEST 2012

Hi Ian,

On Sun, Jun 17, 2012 at 10:46 AM, Ian Barber <ian.barber at gmail.com> wrote:
> Hi all,
> This is re: https://github.com/zeromq/libzmq/pull/383
> I just merged in a commit from Andrey that changes the behavior of the
> ZMQ_FAIL_UNROUTABLE sockopt - it is renamed to ZMQ_ROUTER_BEHAVIOR (though
> with the same value), and now causes an EAGAIN rather than EHOSTUNREACH. I
> believe this functionality was only in 3.x, and since we're still on the RC
> this may be fine, but this may be a BC break, particularly for any bindings
> that were checking for EHOSTUNREACH or referencing the constant.

It's probably OK for doing the change at this stage. But is the
feature designed carefully? The problem is that many asynchronous
loops are probably do start polling on EAGAIN, and retry when poll
succeeds. Which basically means they will go into tight loop until
peer appears again (which is probably never).


More information about the zeromq-dev mailing list