[ksh/f17] do not hang after return code 12
Michal Hlavinka
mhlavink at fedoraproject.org
Mon Mar 19 11:01:03 UTC 2012
commit 0932fb2a15f91b2333d59ef13c27fcafcc26cd62
Author: Michal Hlavinka <mhlavink at redhat.com>
Date: Mon Mar 19 12:00:56 2012 +0100
do not hang after return code 12
ksh-20120229-rc12hang.patch | 21 +++++++++++++++++++++
ksh.spec | 8 +++++++-
2 files changed, 28 insertions(+), 1 deletions(-)
---
diff --git a/ksh-20120229-rc12hang.patch b/ksh-20120229-rc12hang.patch
new file mode 100644
index 0000000..49cef4a
--- /dev/null
+++ b/ksh-20120229-rc12hang.patch
@@ -0,0 +1,21 @@
+diff -up ksh-20120229/src/cmd/ksh93/sh/xec.c.rc12hang ksh-20120229/src/cmd/ksh93/sh/xec.c
+--- ksh-20120229/src/cmd/ksh93/sh/xec.c.rc12hang 2012-03-02 17:37:09.000000000 +0100
++++ ksh-20120229/src/cmd/ksh93/sh/xec.c 2012-03-19 11:29:41.002964239 +0100
+@@ -1623,7 +1623,7 @@ int sh_exec(register const Shnode_t *t,
+ else
+ job_wait(parent);
+ if(shp->topfd > topfd)
+- sh_iorestore(shp,topfd,sh.exitval);
++ sh_iorestore(shp,topfd,0);
+ if(usepipe && tsetio && subdup)
+ iounpipe(shp);
+ if(!sh_isoption(SH_MONITOR))
+@@ -3079,7 +3079,7 @@ pid_t _sh_fork(Shell_t *shp,register pid
+ if(!tsetio || !subdup)
+ {
+ if(shp->topfd > restorefd)
+- sh_iorestore(shp,restorefd,sh.exitval);
++ sh_iorestore(shp,restorefd,0);
+ iounpipe(shp);
+ }
+ }
diff --git a/ksh.spec b/ksh.spec
index 6d5cb58..4cb9ae7 100644
--- a/ksh.spec
+++ b/ksh.spec
@@ -6,7 +6,7 @@ URL: http://www.kornshell.com/
Group: System Environment/Shells
License: EPL
Version: 20120229
-Release: 1%{?dist}
+Release: 2%{?dist}
Source0: http://www.research.att.com/~gsf/download/tgz/ast-ksh.%{releasedate}.tgz
Source1: http://www.research.att.com/~gsf/download/tgz/INIT.%{releasedate}.tgz
Source3: kshrc.rhs
@@ -20,6 +20,8 @@ Patch1: ksh-20070328-builtins.patch
#fix regression test suite to be usable during packagebuild - Fedora/RHEL specific
Patch2: ksh-20100826-fixregr.patch
+Patch3: ksh-20120229-rc12hang.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Conflicts: pdksh
Requires: coreutils, glibc-common, diffutils
@@ -40,6 +42,7 @@ with "sh" (the Bourne Shell).
%setup -q -T -D -a 1
%patch1 -p1 -b .builtins
%patch2 -p1 -b .fixregr
+%patch3 -p1 -b .rc12hang
#/dev/fd test does not work because of mock
sed -i 's|ls /dev/fd|ls /proc/self/fd|' src/cmd/ksh93/features/options
@@ -125,6 +128,9 @@ fi
rm -rf $RPM_BUILD_ROOT
%changelog
+* Mon Mar 19 2012 Michal Hlavinka <mhlavink at redhat.com> - 20120229-2
+- do not hang after return code 12
+
* Wed Mar 14 2012 Michal Hlavinka <mhlavink at redhat.com> - 20120229-1
- ksh updated to 2012-02-29
More information about the scm-commits
mailing list