diff options
Diffstat (limited to 'src/supervisor.rs')
-rw-r--r-- | src/supervisor.rs | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/supervisor.rs b/src/supervisor.rs index aa7ecd6..6e9397d 100644 --- a/src/supervisor.rs +++ b/src/supervisor.rs @@ -271,6 +271,7 @@ impl Client { let mut link_buf = [0; 1494]; let mut net_buf = [0; 1494]; + let mut sighup = signal(SignalKind::hangup())?; let mut sigterm = signal(SignalKind::terminate())?; let mut echo_timeout = tokio::time::interval(Duration::from_secs(12)); @@ -301,6 +302,10 @@ impl Client { tokio::select! { biased; + _ = sighup.recv() => { + self.lcp.close(); + println!("[info] <> reconnect: sighup"); + } _ = sigterm.recv() => { self.shutdown = true; self.lcp.close(); |