From 984082fa8538383f5d1a8260e5a58debbaef517a Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Wed, 31 Jul 2019 11:57:26 +0200 Subject: [PATCH] lib/pty: reset mainloop timeout on signal Signed-off-by: Karel Zak --- lib/pty-session.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/pty-session.c b/lib/pty-session.c index 709c55bb70..4776c26dfc 100644 --- a/lib/pty-session.c +++ b/lib/pty-session.c @@ -330,8 +330,10 @@ static int handle_signal(struct ul_pty *pty, int fd) else if (info.ssi_status == SIGSTOP && pty->child > 0) pty->callbacks.child_sigstop(pty->callback_data); - if (pty->child <= 0) + if (pty->child <= 0) { pty->poll_timeout = 10; + timerclear(&pty->next_callback_time); + } return 0; case SIGWINCH: DBG(SIG, ul_debugobj(pty, " get signal SIGWINCH")); @@ -451,7 +453,7 @@ int ul_pty_proxy_master(struct ul_pty *pty) } else rc = 0; - DBG(IO, ul_debugobj(pty, "leaving poll() loop [timeout=%d, rc=%d]", pty->poll_timeout, rc)); + DBG(IO, ul_debugobj(pty, "leaving poll() loop [timeout=%d, rc=%d]", timeout, rc)); break; } /* event */ -- 2.47.3