On 02/16/2011 07:01 AM, Dhammika Pathirana wrote:

> We have to either block on send() or return EAGAIN, but these are not
> trivial changes :-(

There's no easy solution. Blocking leads to deadlocks. EAGAIN is just 
shifting the responsibility to the caller. What should we do when 
malibox_t::send() returns EAGAIN? Drop the command? If so, missing 
commands would break the internal algorithms.

The only sane way IMO is to carefully modify the algorithms to limit the 
number of commands that can exist at the same time. Say: At most 16k of 
commands at any single point in time. (Similar to how linux kernel 
hard-limits the size of callstack.)

Martin
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to