do not hang after return code 12
This commit is contained in:
parent
1f85ad675d
commit
c7f72d5f3b
2
.gitignore
vendored
2
.gitignore
vendored
@ -42,3 +42,5 @@ INIT.2010-07-01.tgz
|
||||
/INIT.2012-02-02.tgz
|
||||
/ast-ksh.2012-02-14.tgz
|
||||
/INIT.2012-02-14.tgz
|
||||
/ast-ksh.2012-02-29.tgz
|
||||
/INIT.2012-02-29.tgz
|
||||
|
@ -1,16 +0,0 @@
|
||||
diff -up ksh-20120214/src/cmd/ksh93/sh/macro.c.tildafix ksh-20120214/src/cmd/ksh93/sh/macro.c
|
||||
--- ksh-20120214/src/cmd/ksh93/sh/macro.c.tildafix 2012-03-13 10:09:36.895655554 +0100
|
||||
+++ ksh-20120214/src/cmd/ksh93/sh/macro.c 2012-03-13 10:11:54.751591156 +0100
|
||||
@@ -2719,7 +2719,12 @@ skip:
|
||||
if(!logins_tree)
|
||||
logins_tree = dtopen(&_Nvdisc,Dtbag);
|
||||
if(np=nv_search(string,logins_tree,NV_ADD))
|
||||
+ {
|
||||
+ c = shp->subshell;
|
||||
+ shp->subshell = 0;
|
||||
nv_putval(np, pw->pw_dir,0);
|
||||
+ shp->subshell = c;
|
||||
+ }
|
||||
return(pw->pw_dir);
|
||||
}
|
||||
|
21
ksh-20120229-rc12hang.patch
Normal file
21
ksh-20120229-rc12hang.patch
Normal file
@ -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);
|
||||
}
|
||||
}
|
15
ksh.spec
15
ksh.spec
@ -1,11 +1,11 @@
|
||||
%global releasedate 2012-02-14
|
||||
%global releasedate 2012-02-29
|
||||
|
||||
Name: ksh
|
||||
Summary: The Original ATT Korn Shell
|
||||
URL: http://www.kornshell.com/
|
||||
Group: System Environment/Shells
|
||||
License: EPL
|
||||
Version: 20120214
|
||||
Version: 20120229
|
||||
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
|
||||
@ -20,8 +20,7 @@ Patch1: ksh-20070328-builtins.patch
|
||||
#fix regression test suite to be usable during packagebuild - Fedora/RHEL specific
|
||||
Patch2: ksh-20100826-fixregr.patch
|
||||
|
||||
# for ksh <= 2012-03-09, fix tilda expansion, rhbz#802565
|
||||
Patch3: ksh-20120214-tildafix.patch
|
||||
Patch3: ksh-20120229-rc12hang.patch
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
Conflicts: pdksh
|
||||
@ -43,7 +42,7 @@ with "sh" (the Bourne Shell).
|
||||
%setup -q -T -D -a 1
|
||||
%patch1 -p1 -b .builtins
|
||||
%patch2 -p1 -b .fixregr
|
||||
%patch3 -p1 -b .tildafix
|
||||
%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
|
||||
@ -129,6 +128,12 @@ fi
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%changelog
|
||||
* Mon Mar 19 2012 Michal Hlavinka <mhlavink@redhat.com> - 20120229-2
|
||||
- do not hang after return code 12
|
||||
|
||||
* Wed Mar 14 2012 Michal Hlavinka <mhlavink@redhat.com> - 20120229-1
|
||||
- ksh updated to 2012-02-29
|
||||
|
||||
* Tue Mar 13 2012 Michal Hlavinka <mhlavink@redhat.com> - 20120214-2
|
||||
- fix tilda expansion in scripts
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user