[kepler-dev] Can "stop" interrupt "initialize()"
kruland at ku.edu
Mon Jan 30 11:49:17 PST 2006
Edward A. Lee wrote:
> At 08:41 AM 1/30/2006 -0600, Kevin Ruland wrote:
>> Also, if some actor somewhere does do something extremely time
>> consuming in it's initialize method, there is currently no pleasant
>> way to interrupt it. The user can click on the stop button, and it
>> does appear to have some effect -- that is, it's indentation changes
>> when pressed -- however, it does not interrupt the processing. This
>> behavior could be considered a but itself. Either the stop button
>> needs to be disabled until it can do something useful, or it should
>> stop the workflow regardless of its execution state.
> Every Director has a method isStopRequested().
> A long running initialize() method should just call this method
> and abort if it returns true...
I think I can use this in some kind of spin wait. What's the easiest
way for an actor get a handle to it's director?
I did a little digging and noticed that Manager.finish() does a
notifyAll(). Presumably I could tap into this as well and synchronize
on the Manager object. Of course, I need to get my hands on the
Manager, and there might be a different deadlock situation present.
> I would be circumspect about adding additional phases.
> It could significantly increase the complexity for actor writers.
> Edward A. Lee
> Professor, Chair of the EE Division, Associate Chair of EECS
> 231 Cory Hall, UC Berkeley, Berkeley, CA 94720
> phone: 510-642-0253 or 510-642-0455, fax: 510-642-2845
> eal at eecs.Berkeley.EDU, http://ptolemy.eecs.berkeley.edu/~eal
More information about the Kepler-dev