Chuck Holzwarth wrote:
[...]

How do you propose to handle potential fatal/non fatal errors? If target a
exits due to an error, should there be an option to kill a or allow it to
complete (similar to failonerror="yes/no")? If both a and (b,c) must succeed
for d, should a be killed if b or c fails? That would indicate a method
(stack, shared memory, etc.) for tracking the result of the sub processes.
>
> [...]

Hmm, good question.

Maybe if one target fails, no new targets shall be started, but already running targets shall be completed. Since they are obviously independent, it should not hurt to complete them. And it would mostly resemble the behaviour of the single threaded execution. If the running targets could be terminated gracefully, e.g. stopping them after the completion of the currently executed task, it would be nicer, of course. If you mean this by word "kill", this would be acceptable IMHO. However, the "hard way", like "Thread.stop" or even a kill on OS level is likely not a good idea.

On the contrary, one could add a "greedy" option, which tries to finish as many targets as possible. However I don't see a real benefit at the moment, as it would increase the turn-around time and would therefore be counter-productive.

Output handling is surely another important and difficult thing. From a user's perspective, it would be most convenient if the output of a target would remain in one piece. While a GUI could handle this more or less easily, console output is a bit tricky, though. The target which is the first to create some output would "own" the console, all others have to buffer theirs until this target has been completed.

Klaus

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to