summaryrefslogtreecommitdiff
path: root/src/os_unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os_unix.c')
-rw-r--r--src/os_unix.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 993068042..0af6016bb 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -868,10 +868,11 @@ sig_tstp SIGDEFARG(sigarg)
signal(SIGTSTP, ignore_sigtstp ? SIG_IGN : SIG_DFL);
raise(sigarg);
}
+ else
+ got_tstp = TRUE;
// this is not required on all systems, but it doesn't hurt anybody
signal(SIGTSTP, (RETSIGTYPE (*)())sig_tstp);
- got_tstp = TRUE;
SIGRETURN;
}
#endif
@@ -6414,6 +6415,7 @@ select_eintr:
if (got_tstp && !in_mch_suspend)
{
exarg_T ea;
+
ea.forceit = TRUE;
ex_stop(&ea);
got_tstp = FALSE;