[zeromq-dev] need help with linux platform
Dhammika Pathirana
dhammika at gmail.com
Wed Feb 16 18:39:09 CET 2011
On Tue, Feb 15, 2011 at 11:39 PM, Martin Sustrik <sustrik at 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
More information about the zeromq-dev
mailing list