class call_engine : ?ignore_error_code:bool ->
?mode:Shell_sys.group_mode ->
?stdin:Shell.producer ->
?stdout:Shell.consumer ->
?stderr:Shell.consumer ->
Shell_sys.command list ->
Unixqueue.event_system ->
[Shell_sys.job_status] job_handler_engine_typeShell.call. The command list is
executed until the job is done. In this case,
the status of the engine changes to `Done or `Error.
If not ignore_error_code, failed jobs are reported by the
error status `Error Subprocess_failure. If ignore_error_code,
failed jobs are ignored, and result in the status `Done
(however, jobs terminated by signals are still reported as
errors).
For the other arguments see Shell.call.
When the engine goes to `Error or `Aborted, the job
is terminated ( Shell_sys.abandon_job ).