summaryrefslogtreecommitdiffhomepage
path: root/common-session.c
diff options
context:
space:
mode:
Diffstat (limited to 'common-session.c')
-rw-r--r--common-session.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/common-session.c b/common-session.c
index 79166f4..601136f 100644
--- a/common-session.c
+++ b/common-session.c
@@ -144,6 +144,11 @@ void session_loop(void(*loophandler)()) {
if (val < 0) {
if (errno == EINTR) {
+ /* This must happen even if we've been interrupted, so that
+ * changed signal-handler vars can take effect etc */
+ if (loophandler) {
+ loophandler();
+ }
continue;
} else {
dropbear_exit("Error in select");