On Tue, 2008-04-08 at 22:23 +0200, Henrik Nordstrom wrote: > What worries me a bit is that this introduces a queue where invocation > was always immediate before. So we have a different problem space to > deal with in queued events where we before had to deal with recursive > events.. It's a subtle change and requires partly new thinking. > > But when we are used to it the queue is easier to deal with than races > due to recursion. Much more predictable as objects won't go out under > the feets of the caller, just a bit different from what we are used to..
I agree with this analysis. We are replacing a recursive/reentrant mess with a single/simple call interface. The catch is that nothing is immediate/blocking anymore because the calls are asynchronous. I am sure we will find new bugs related to this, but I think the change is worth the bugs and complexity we are _removing_. Also, the future SMP support may operate within the same nothing-is-immediate problem space. In other words, let's get used to it! :-) Thank you, Alex.
