[][src]Macro blocking::unblock

macro_rules! unblock {
    ($($code:tt)*) => { ... };
}

Moves blocking code onto the thread pool.

Note that unblock!(expr) is just syntax sugar for unblock(move || expr).await.

Examples

Read a file into a string:

use blocking::unblock;
use std::fs;

let contents = unblock!(fs::read_to_string("file.txt"))?;

Spawn a process:

use blocking::unblock;
use std::process::Command;

let out = unblock!(Command::new("dir").output())?;