Hi Christian:

--- On Wed, 4/1/09, Christian Tismer <[email protected]> wrote:

> I don't really get where the problem is. It is IMHO just fine to 
>detect and analyze this first simple deadlock.
> How would you think to do more than this? The example has a
> very predictable future, because it is constructed this way.

Yes this is a simple example. What I wanted to show was when the deadlock 
occurs, many of the resources (channels) that are causing the deadlock to 
happen, have not been executed. So I suspect a detector based on only channel 
wrapping wouldn't by able to give decent diagnostics. You have to give the 
detector more upfront information.

> You are trying to predict deadlocks before executing the
> code? 

No. The detector only works at runtime.

>But how should that work for any non-trivial program,
>where control flow is dependent from data and computations?

The detector ought to work for a complex example. However the detector has to 
know about the tasklets and channels that can cause a deadlock before the 
deadlock occurs. This is because of the hold-and-wait condition -  resources 
the application is holding are never reached (executed). A result is one may 
get a very cumbersome detector. I want a detector that is about as cumbersome 
as a logger.

Let me work on more complex scenarios.

Cheers,
Andrew











      

_______________________________________________
Stackless mailing list
[email protected]
http://www.stackless.com/mailman/listinfo/stackless

Reply via email to