diff options
author | Steve Bennett <steveb@workware.net.au> | 2015-02-18 11:34:41 +1000 |
---|---|---|
committer | Steve Bennett <steveb@workware.net.au> | 2015-03-12 21:59:53 +1000 |
commit | fffae89f567581b6138df5f20241f8851787fddd (patch) | |
tree | a27ec090700ef78d4bd8a57dd971bde1695c892c /jim-regexp.c | |
parent | 51f65c6d38fbf86e1f0b036ad336761fd2ab7fa0 (diff) | |
download | jimtcl-fffae89f567581b6138df5f20241f8851787fddd.zip jimtcl-fffae89f567581b6138df5f20241f8851787fddd.tar.gz jimtcl-fffae89f567581b6138df5f20241f8851787fddd.tar.bz2 |
exec: better handling of pipeline abnormal termination
Consider the command pipeline:
exec a | b | c
Previously, if any of the subcommands terminated abnormally (with a signal),
the stdout of the pipeline would be lost.
Now the output consists of:
1. standard output from the last command in the pipeline
2. standard error from all commands in the pipeline
3. all abnormal error terminations, if any - but suppressed if any standard error output
In addition, $::errorCode previously always contained the termination status of the last
subcommand, even if it succeeded. Now it contains the termination status of the last
subcommand that failed, or "NONE" if all succeeded.
Additionally, the order of $::errorCode was previously wrong, with pid after the signal id
rather than vice versa.
Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-regexp.c')
0 files changed, 0 insertions, 0 deletions