Accepting request 39305 from shells
Copy from shells/ksh based on submit request 39305 from user WernerFink OBS-URL: https://build.opensuse.org/request/show/39305 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ksh?expand=0&rev=42
This commit is contained in:
commit
5f42e5322a
@ -1,3 +1,8 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Mon May 3 14:47:52 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
- Add patch from mail list tp avoid deadlock in builtin `whence'
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Apr 9 10:46:24 CEST 2010 - werner@suse.de
|
Fri Apr 9 10:46:24 CEST 2010 - werner@suse.de
|
||||||
|
|
||||||
|
4
ksh.spec
4
ksh.spec
@ -37,7 +37,7 @@ Requires(preun): update-alternatives
|
|||||||
%endif
|
%endif
|
||||||
AutoReqProv: on
|
AutoReqProv: on
|
||||||
Version: 93t
|
Version: 93t
|
||||||
Release: 22
|
Release: 23
|
||||||
Summary: Korn Shell
|
Summary: Korn Shell
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||||
Source: INIT.2010-03-09.tar.bz2
|
Source: INIT.2010-03-09.tar.bz2
|
||||||
@ -66,6 +66,7 @@ Patch13: ksh93-tty.dif
|
|||||||
Patch14: ksh93-ia64.dif
|
Patch14: ksh93-ia64.dif
|
||||||
Patch15: ksh93-s390.dif
|
Patch15: ksh93-s390.dif
|
||||||
Patch16: ksh93-sigchld.dif
|
Patch16: ksh93-sigchld.dif
|
||||||
|
Patch17: ksh93-whence-deadlock.dif
|
||||||
%global use_suid_exe 0
|
%global use_suid_exe 0
|
||||||
%global use_locale 1
|
%global use_locale 1
|
||||||
%global debug_memleak 0
|
%global debug_memleak 0
|
||||||
@ -133,6 +134,7 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
|||||||
%endif
|
%endif
|
||||||
%patch15
|
%patch15
|
||||||
%patch16
|
%patch16
|
||||||
|
%patch17
|
||||||
|
|
||||||
%build
|
%build
|
||||||
typeset -i IGNORED=0x$(ps --no-headers -o ignored $$)
|
typeset -i IGNORED=0x$(ps --no-headers -o ignored $$)
|
||||||
|
34
ksh93-whence-deadlock.dif
Normal file
34
ksh93-whence-deadlock.dif
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
|Hi,
|
||||||
|
|
|
||||||
|
|I've got another bug report from one Fedora user. When whence builtin is used
|
||||||
|
|with -q option it hangs. Whence was modified a lot between 2008-02-02 and
|
||||||
|
|2008-07-25. New version uses while(pp) loop but for Q_FLAG pp never changes
|
||||||
|
|causing ksh loop forever. I've just added pp = 0 to Q_FLAG if-section and it
|
||||||
|
|seems working fine:
|
||||||
|
|
|
||||||
|
--- src/cmd/ksh93/bltins/whence.c
|
||||||
|
+++ src/cmd/ksh93/bltins/whence.c 2010-04-29 12:03:22.744013139
|
||||||
|
+0200
|
||||||
|
@@ -234,7 +234,10 @@ static int whence(Shell_t *shp,char **ar
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(flags&Q_FLAG)
|
||||||
|
+ {
|
||||||
|
r |= !cp;
|
||||||
|
+ pp = 0;
|
||||||
|
+ }
|
||||||
|
else if(cp)
|
||||||
|
{
|
||||||
|
if(flags&V_FLAG)
|
||||||
|
|
||||||
|
|
||||||
|
|Btw, when looking in the code it seems tofree variable is never checked when
|
||||||
|
|Q_FLAG is used and also in the loop this value is sometimes set to 1, but
|
||||||
|
|never zeroed once it is set, is it expected?
|
||||||
|
|
|
||||||
|
|Regards,
|
||||||
|
|Michal Hlavinka
|
||||||
|
|_______________________________________________
|
||||||
|
|ast-developers mailing list
|
||||||
|
|ast-developers@research.att.com
|
||||||
|
|https://mailman.research.att.com/mailman/listinfo/ast-developers
|
Loading…
x
Reference in New Issue
Block a user