/* FIXME: This is no good. The main process might open too many files for
one thing. All of it should create children from left to right, instead
- of all children to a single parent right to left. */
+ of all children to a single parent right to left.
+
+ The code to do it correctly is below, but doesn't yet work for multiple
+ steps.
+*/
static bool
perform_pipe_sequence (RECODE_TASK task)
perform_pipe_sequence (RECODE_TASK task)
{
RECODE_CONST_REQUEST request = task->request;
+ RECODE_OUTER outer = request->outer;
struct recode_subtask subtask_block;
RECODE_SUBTASK subtask = &subtask_block;
return false;
}
- step = request->sequence_array[sequence_index];
+ step = request->sequence_array + sequence_index;
subtask->step = step;
(*step->transform_routine) (subtask);
return false;
}
- step = request->sequence_array[0];
+ step = request->sequence_array;
subtask->step = step;
(*step->transform_routine) (subtask);
}
}
+#if 0
if (interrupted)
/* FIXME: It is not very clear what happened in sub-processes. */
if (task->error_so_far < task->fail_level)
task->error_so_far = task->fail_level;
task->error_at_step = step;
}
+#endif
SUBTASK_RETURN (subtask);
}