[Rake-devel] recursive task invocation

Assaf Arkin assaf at labnotes.org
Mon Aug 11 18:37:48 EDT 2008

On Mon, Aug 11, 2008 at 8:24 AM, Jim Weirich <jim.weirich at gmail.com> wrote:
> On Aug 11, 2008, at 9:35 AM, Ittay Dror wrote:
>> Note that the current use of threads, in either MultiTask, or the JobTask
>> I sent earlier is faulty. Imagine tasks A, B, C, D where  A => [B, C],
>> B=>[D], C=>[D]. Now if B and C are invoked in parallel, C invokes D which
>> fails. C promptly fails. B continues to run and to it D seems to have been
>> already invoked, so it does its actions assuming D's actions were executed
>> which isn't true.
> Do we need some kind of error state, eg. invoked, but failed?

Possibly.  If you invoke the same task twice and the invocation fails,
you only get an exception on the first invocation, the second one will
succeed since the task is marked as invoked, which could lead to the
wrong outcome.


> --
> -- Jim Weirich
> -- jim.weirich at gmail.com
> _______________________________________________
> Rake-devel mailing list
> Rake-devel at rubyforge.org
> http://rubyforge.org/mailman/listinfo/rake-devel

More information about the Rake-devel mailing list