From: Selva Nair Date: Wed, 4 Nov 2015 18:59:38 +0000 (-0500) Subject: Fix termination when windows suspends/sleeps X-Git-Tag: v2.3.9~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d4ba251879c702b9474e26ff73a4f559d922d4f;p=thirdparty%2Fopenvpn.git Fix termination when windows suspends/sleeps When TUN/TAP I/O operation is aborted, restart with a SIGHUP instead of terminate. The abort error from TAP is often triggered by system suspend which is fully recoverable on resume. Catastrophic events will get caught later during the restart. This solves the abnormal termination during suspend/resume. Signed-off-by: Selva Nair Acked-by: Gert Doering Message-Id: <1446663578-14471-1-git-send-email-selva.nair@gmail.com> URL: http://article.gmane.org/gmane.network.openvpn.devel/10438 Signed-off-by: Gert Doering (cherry picked from commit ea66a2b5cdb21422139c421b4d3733e1c1c3937e) --- diff --git a/src/openvpn/forward.c b/src/openvpn/forward.c index 217fbb38a..d55fa3b20 100644 --- a/src/openvpn/forward.c +++ b/src/openvpn/forward.c @@ -956,8 +956,9 @@ read_incoming_tun (struct context *c) /* Was TUN/TAP I/O operation aborted? */ if (tuntap_abort(c->c2.buf.len)) { - register_signal(c, SIGTERM, "tun-abort"); - msg(M_FATAL, "TUN/TAP I/O operation aborted, exiting"); + register_signal(c, SIGHUP, "tun-abort"); + c->persist.restart_sleep_seconds = 10; + msg(M_INFO, "TUN/TAP I/O operation aborted, restarting"); perf_pop(); return; }