1
0
mirror of https://github.com/actix/actix-extras.git synced 2024-11-30 18:34:36 +01:00

deregister server socket on shutdown

This commit is contained in:
Nikolay Kim 2018-02-16 09:42:15 -08:00
parent 3c95823e53
commit 3e3d3279b8
2 changed files with 13 additions and 2 deletions

View File

@ -44,6 +44,7 @@ fn main() {
let _ = env_logger::init(); let _ = env_logger::init();
let sys = actix::System::new("r2d2-example"); let sys = actix::System::new("r2d2-example");
// r2d2 pool
let manager = SqliteConnectionManager::file("test.db"); let manager = SqliteConnectionManager::file("test.db");
let pool = r2d2::Pool::new(manager).unwrap(); let pool = r2d2::Pool::new(manager).unwrap();

View File

@ -666,11 +666,21 @@ fn start_accept_thread(sock: net::TcpListener, addr: net::SocketAddr, backlog: i
} }
} }
}, },
Command::Stop => return, Command::Stop => {
if let Some(server) = server.take() {
let _ = poll.deregister(&server);
}
return
},
}, },
Err(err) => match err { Err(err) => match err {
sync_mpsc::TryRecvError::Empty => (), sync_mpsc::TryRecvError::Empty => (),
sync_mpsc::TryRecvError::Disconnected => return, sync_mpsc::TryRecvError::Disconnected => {
if let Some(server) = server.take() {
let _ = poll.deregister(&server);
}
return
},
} }
}, },
_ => unreachable!(), _ => unreachable!(),