Fix handling pipelines with set -e. Resolves: #483385
This commit is contained in:
parent
0e588980b4
commit
91115222ca
21
bash-4.0-shell_pipelines_handling.patch
Normal file
21
bash-4.0-shell_pipelines_handling.patch
Normal file
@ -0,0 +1,21 @@
|
||||
diff -up bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling bash-4.0-rc1/execute_cmd.c
|
||||
--- bash-4.0-rc1/execute_cmd.c.shell_pipelines_handling 2009-02-11 12:56:13.000000000 +0100
|
||||
+++ bash-4.0-rc1/execute_cmd.c 2009-02-11 12:57:20.000000000 +0100
|
||||
@@ -756,7 +756,7 @@ execute_command_internal (command, async
|
||||
the presence of a pipeline, and (until Posix changes things), a
|
||||
pipeline failure should not cause the parent shell to exit on an
|
||||
unsuccessful return status, even in the presence of errexit.. */
|
||||
- if (was_error_trap && ignore_return == 0 && invert == 0 && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)
|
||||
+ if (was_error_trap && ignore_return == 0 && invert == 0 && exec_result != EXECUTION_SUCCESS)
|
||||
{
|
||||
last_command_exit_value = exec_result;
|
||||
run_error_trap ();
|
||||
@@ -764,7 +764,7 @@ execute_command_internal (command, async
|
||||
|
||||
if (ignore_return == 0 && invert == 0 &&
|
||||
((posixly_correct && interactive == 0 && special_builtin_failed) ||
|
||||
- (exit_immediately_on_error && pipe_in == NO_PIPE && pipe_out == NO_PIPE && exec_result != EXECUTION_SUCCESS)))
|
||||
+ (exit_immediately_on_error && exec_result != EXECUTION_SUCCESS)))
|
||||
{
|
||||
last_command_exit_value = exec_result;
|
||||
run_pending_traps ();
|
@ -3,7 +3,7 @@
|
||||
Version: 4.0
|
||||
Name: bash
|
||||
Summary: The GNU Bourne Again shell version %{version}
|
||||
Release: 0.3.%{?beta_tag}%{?dist}
|
||||
Release: 0.4.%{?beta_tag}%{?dist}
|
||||
Group: System Environment/Shells
|
||||
License: GPLv2+
|
||||
Url: http://www.gnu.org/software/bash
|
||||
@ -40,6 +40,7 @@ Patch117: bash-setlocale.patch
|
||||
Patch118: bash-tty-tests.patch
|
||||
Patch119: bash-ulimit-m.patch
|
||||
Patch120: bash-4.0-no_debug_output.patch
|
||||
Patch121: bash-4.0-shell_pipelines_handling.patch
|
||||
|
||||
Requires(post): ncurses-libs
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
@ -83,6 +84,7 @@ compliance over previous versions.
|
||||
%patch118 -p1 -b .tty_tests
|
||||
%patch119 -p1 -b .ulimit-m
|
||||
%patch120 -p1 -b .no_debug_output
|
||||
%patch121 -p1 -b .pipelines_handling
|
||||
|
||||
echo %{version} > _distribution
|
||||
echo %{release} > _patchlevel
|
||||
@ -242,6 +244,10 @@ fi
|
||||
#%doc doc/*.ps doc/*.0 doc/*.html doc/article.txt
|
||||
|
||||
%changelog
|
||||
* Wed Feb 11 2009 Roman Rakus <rrakus@redhat.com> - 4.0-0.4.rc1
|
||||
- Fix handling pipelines with `set -e'
|
||||
Resolves: #483385
|
||||
|
||||
* Thu Jan 29 2009 Roman Rakus <rrakus@redhat.com> - 4.0-0.3.rc1
|
||||
- No more debug output
|
||||
Resolves: #483002
|
||||
|
Loading…
Reference in New Issue
Block a user