Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.2:Update
ksh
ksh93-signals.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File ksh93-signals.dif of Package ksh
--- src/cmd/ksh93/data/signals.c +++ src/cmd/ksh93/data/signals.c 2008-09-11 15:49:02.645531304 +0000 @@ -18,6 +18,8 @@ * * ***********************************************************************/ #include <ast.h> +#include <cmd.h> +#include <jobs.h> #include "shtable.h" #include "fault.h" --- src/cmd/ksh93/sh/jobs.c +++ src/cmd/ksh93/sh/jobs.c 2010-03-03 14:17:34.812626467 +0100 @@ -279,7 +279,7 @@ int job_reap(register int sig) } pid = waitpid((pid_t)-1,&wstat,flags); sh_offstate(SH_TTYWAIT); - +#ifdef WCONTINUED /* * some systems (linux 2.6) may return EINVAL * when there are no continued children @@ -287,6 +287,7 @@ int job_reap(register int sig) if (pid<0 && errno==EINVAL && (flags&WCONTINUED)) pid = waitpid((pid_t)-1,&wstat,flags&=~WCONTINUED); +#endif sh_sigcheck(); if(pid<0 && errno==EINTR && (sig||job.savesig)) continue; --- src/cmd/ksh93/sh/xec.c +++ src/cmd/ksh93/sh/xec.c 2007-12-21 13:28:04.000000000 +0100 @@ -2894,6 +2894,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons { signal(SIGTTIN,SIG_DFL); signal(SIGTTOU,SIG_DFL); + signal(SIGTSTP,SIG_DFL); } #endif /* SIGTSTP */ #ifdef JOBS @@ -2931,6 +2932,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons { signal(SIGTTIN,SIG_IGN); signal(SIGTTOU,SIG_IGN); + if(sh_isstate(SH_INTERACTIVE)) + signal(SIGTSTP,SIG_IGN); + else signal(SIGTSTP,SIG_DFL); } #endif /* SIGTSTP */ if(spawnpid>0) @@ -3011,6 +3015,7 @@ static pid_t sh_ntfork(Shell_t *shp,cons { signal(SIGTTIN,SIG_DFL); signal(SIGTTOU,SIG_DFL); + signal(SIGTSTP,SIG_DFL); jobwasset++; } #endif /* SIGTSTP */ @@ -3069,6 +3074,9 @@ static pid_t sh_ntfork(Shell_t *shp,cons { signal(SIGTTIN,SIG_IGN); signal(SIGTTOU,SIG_IGN); + if(sh_isstate(SH_INTERACTIVE)) + signal(SIGTSTP,SIG_IGN); + else signal(SIGTSTP,SIG_DFL); } #endif /* SIGTSTP */ if(sigwasset)
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor