Browse Source

Handle poll interrupt gracefully

pull/16/head
B. Blechschmidt 3 years ago
parent
commit
8135ed3dce
  1. 10
      src/tun2proxy.rs

10
src/tun2proxy.rs

@ -673,7 +673,8 @@ impl<'a> TunToProxy<'a> {
let mut events = Events::with_capacity(1024);
loop {
self.poll.poll(&mut events, None)?;
match self.poll.poll(&mut events, None) {
Ok(()) => {
for event in events.iter() {
match event.token() {
TCP_TOKEN => self.tun_event(event)?,
@ -683,5 +684,12 @@ impl<'a> TunToProxy<'a> {
}
self.send_to_smoltcp()?;
}
Err(e) => {
if e.kind() != std::io::ErrorKind::Interrupted {
return Err(e.into())
}
}
}
}
}
}

Loading…
Cancel
Save