Ensure db is closed properly when exiting

This commit is contained in:
Joscha 2022-06-17 14:48:01 +02:00
parent 9763c11f3f
commit 74a80f6ec4

View file

@ -24,8 +24,13 @@ impl Vault {
fn run(conn: Connection, mut rx: mpsc::Receiver<Request>) -> anyhow::Result<()> { fn run(conn: Connection, mut rx: mpsc::Receiver<Request>) -> anyhow::Result<()> {
while let Some(request) = rx.blocking_recv() { while let Some(request) = rx.blocking_recv() {
match request { match request {
// Drops the Sender resulting in `Vault::close` exiting Request::Close(tx) => {
Request::Close(_) => break, // Ensure `Vault::close` exits only after the sqlite connection
// has been closed properly.
drop(conn);
drop(tx);
break;
}
Request::Nop => {} Request::Nop => {}
} }
} }