time::Duration) -> bool {
let mut started = false;
thread::spawn(move || {
println!("Running IPFS...");
started = match Command::new("ipfs").arg("daemon").status() {
Ok(_) => true,
_ => false
};
println!("IPFS status: {:?}", started);
});
if started {
thread::sleep(pause);
return true
}
false
}
суть в том, что я её потом использую в if конструкции и она банально не успевает выполнится как будто..
Ты копируешь started в замыкание, это 2 разные переменные после move ||
http://play.integer32.com/?gist=63b1ebfae382f213d96579a3923d3c79&version=stable
Обсуждают сегодня