This is the mail archive of the frysk@sources.redhat.com mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Forward of blocked observer discussion



     /**
If <code>Action.CONTINUE</code> is returned or after
+     * <code>requestUnblock()</code> is called on the Task the
+     * observer is removed from the task and will not be triggered
+     * unless it is explictily readded. To continiously monitor a
+     * running Task see the <code>Instruction</code> interface.
+     */
Mark,

This adds an obscure side effect to Action.CONTINUE, is inconsistent with every other observer, and is redundant. Any observer, not just a blocking observer, needing to both unblock and remove itself can just request its removal. The state machine needs to then directly handle that, but as npremji recently discovered, and is now working on, it isn't reliable.

Also remember, as you/I previously discussed, and similarly I sami and adam discussed, the blocking and instruction observers have too much functional overlap, making one redundant. BTW, Sami/Adam preferred to see the observer called something like Blocking rather than Instruction as that better reflected its behavior.

Andrew


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]