[zeromq-dev] Mac OS X: test_shutdown_stress sometimes fails
Dhammika Pathirana
dhammika at gmail.com
Tue Nov 23 17:12:31 CET 2010
On Tue, Nov 23, 2010 at 5:49 AM, Martin Sustrik <sustrik at 250bpm.com> wrote:
> Dhammika,
>
>> I donno, may be we should simplify this.
>> Why don't we add a refcount?
>
> As a quick workaround -- yes. Do you have a patch for that kind of solution?
>
> However, thinking about it conceptually, the problem is more generic.
> Namely, object A can call object B which in turn calls object A. In such a
> scenario, the inner call on A works on inconsistent state as the outer call
> isn't yet completed. Other way round, outer call on A gets the state changed
> underneath its feet when it calls B (see seq1.png attached).
>
> The real solution, IMO, would be to use events to sequence actions on
> individual objects. That way there won't be inner and outer call, rather,
> there will be two event handlers executed one after another (see seq2.png).
>
> Brief code review of 0MQ shows that this kind of problem only happens within
> a cluster of object composed of session, engine and decoder/encoder. The
> rest of the system (sockets, pipes) is using events already and doesn't have
> to be changed.
>
Sorry, I don't have a patch.
I'm off for few days for thanksgiving, I'll try to think of a solution.
Dhammika
More information about the zeromq-dev
mailing list