[][src]Macro simple_on_shutdown::on_shutdown_move

macro_rules! on_shutdown_move {
    ($cb:block) => { ... };
    ($cb:expr) => { ... };
}

Like on_shutdown but moves all variables into the created closure.

Example

use std::sync::atomic::AtomicBool;
use std::sync::Arc;
use simple_on_shutdown::on_shutdown_move;

fn main() {
    // some code ...
    let foobar = Arc::new(AtomicBool::new(false));
    // on_shutdown!() would not work here because the closure needs "foobar"
    on_shutdown_move!({
        foobar.store(true, Ordering::Relaxed);
        println!("foobar={}", foobar.load(Ordering::Relaxed));
    });
    // or just:
    // on_shutdown_move!(foobar.store(true, Ordering::Relaxed));
}