Hello community,
here is the log from the commit of package ksh for openSUSE:Factory
checked in at Mon May 3 21:20:34 CEST 2010.
--------
--- ksh/ksh.changes 2010-04-09 10:47:19.000000000 +0200
+++ ksh/ksh.changes 2010-05-03 14:50:38.000000000 +0200
@@ -1,0 +2,5 @@
+Mon May 3 14:47:52 CEST 2010 - werner(a)suse.de
+
+- Add patch from mail list tp avoid deadlock in builtin `whence'
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
New:
----
ksh93-whence-deadlock.dif
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ksh.spec ++++++
--- /var/tmp/diff_new_pack.kaTDtD/_old 2010-05-03 21:15:51.000000000 +0200
+++ /var/tmp/diff_new_pack.kaTDtD/_new 2010-05-03 21:15:51.000000000 +0200
@@ -37,7 +37,7 @@
%endif
AutoReqProv: on
Version: 93t
-Release: 22
+Release: 23
Summary: Korn Shell
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Source: INIT.2010-03-09.tar.bz2
@@ -66,6 +66,7 @@
Patch14: ksh93-ia64.dif
Patch15: ksh93-s390.dif
Patch16: ksh93-sigchld.dif
+Patch17: ksh93-whence-deadlock.dif
%global use_suid_exe 0
%global use_locale 1
%global debug_memleak 0
@@ -133,6 +134,7 @@
%endif
%patch15
%patch16
+%patch17
%build
typeset -i IGNORED=0x$(ps --no-headers -o ignored $$)
++++++ ksh93-whence-deadlock.dif ++++++
|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(a)research.att.com
|https://mailman.research.att.com/mailman/listinfo/ast-developers
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org