On Tue, Feb 15, 2011 at 11:39 PM, Martin Sustrik <sust...@250bpm.com> wrote: > 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. >
Why don't we fix the deadlock, that sounds like a bug, > 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.) > This'll add more bookkeeping for regular use cases. Dhammika _______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org http://lists.zeromq.org/mailman/listinfo/zeromq-dev