.
OBS-URL: https://build.opensuse.org/package/show/shells/ksh?expand=0&rev=9
This commit is contained in:
parent
e529961e6c
commit
22d7136c9d
2
ksh.spec
2
ksh.spec
@ -54,6 +54,7 @@ Patch12: ksh93-limits.dif
|
||||
Patch14: ksh93-ia64.dif
|
||||
Patch15: ksh93-s390.dif
|
||||
Patch16: ksh93-memleak.dif
|
||||
Patch17: ksh93-pipe.dif
|
||||
Patch42: ksh93-debugleaks.dif
|
||||
%global use_suid_exe 0
|
||||
%global use_locale 0
|
||||
@ -121,6 +122,7 @@ find share/ -type d -a -empty | xargs -r rm -vrf
|
||||
%endif
|
||||
%patch15
|
||||
%patch16
|
||||
%patch17
|
||||
%if %debug_memleak
|
||||
%patch42
|
||||
%endif
|
||||
|
23
ksh93-pipe.dif
Normal file
23
ksh93-pipe.dif
Normal file
@ -0,0 +1,23 @@
|
||||
--- src/cmd/ksh93/sh/fault.c
|
||||
+++ src/cmd/ksh93/sh/fault.c 2009-08-24 15:52:21.770401660 +0200
|
||||
@@ -413,6 +413,20 @@ void sh_chktrap(void)
|
||||
sh.sigflag[sig] &= ~SH_SIGTRAP;
|
||||
if(trap=sh.st.trapcom[sig])
|
||||
{
|
||||
+ if (sig==SIGPIPE) {
|
||||
+ int fd;
|
||||
+ sh.lastsig=SIGPIPE;
|
||||
+ for(fd = 0; fd < sh.lim.open_max; fd++)
|
||||
+ {
|
||||
+ if (sh.fdstatus[fd] == IOCLOSE)
|
||||
+ continue;
|
||||
+ if ((sh.fdstatus[fd]&IOWRITE) == 0)
|
||||
+ continue;
|
||||
+ if (sferror(sh.sftable[fd]) == 0)
|
||||
+ continue;
|
||||
+ sh_close(fd);
|
||||
+ }
|
||||
+ }
|
||||
sh.oldexit = SH_EXITSIG|sig;
|
||||
sh_trap(trap,0);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user