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
