aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHimbeerserverDE <himbeerserverde@gmail.com>2023-11-22 15:41:55 +0100
committerHimbeerserverDE <himbeerserverde@gmail.com>2023-11-22 15:41:55 +0100
commit0a8fbcced3869595f7a74340f60f5a231de6e371 (patch)
tree2f43cb238f5835b556877a52730588a57db6d217
parent2ad617298b114dedf4cb5b209f6923d63063deb4 (diff)
reconnect on SIGHUP
-rw-r--r--src/supervisor.rs5
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();