aboutsummaryrefslogtreecommitdiffstats
path: root/redir.c
diff options
context:
space:
mode:
Diffstat (limited to 'redir.c')
-rw-r--r--redir.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/redir.c b/redir.c
index f38e0a2..d63e800 100644
--- a/redir.c
+++ b/redir.c
@@ -52,6 +52,7 @@
#include "flags.h"
#include "execute_cmd.h"
#include "redir.h"
+#include "trap.h"
#if defined (BUFFERED_INPUT)
# include "input.h"
@@ -671,7 +672,10 @@ redir_open (filename, flags, mode, ri)
fd = open (filename, flags, mode);
e = errno;
if (fd < 0 && e == EINTR)
- QUIT;
+ {
+ QUIT;
+ run_pending_traps ();
+ }
errno = e;
}
while (fd < 0 && errno == EINTR);