Здравствуйте!
Не могу разобраться, как работает функция spawn. По идее, все дочерние потоки должны завершаться вместе с основным (по сути, функция main). Так в документации и так же работают другие языки.
Но как тогда iron делает так?
fn main() {
fn hello_world(_: &mut Request) -> IronResult<Response> {
Ok(Response::with((status::Ok, "Hello World!")))
}
let _server = Iron::new(hello_world).http("localhost:3000").unwrap();
println!("On 3000");
}
В его коде нет никаких ухищрений, возвращается, по сути, результат вызова spawn.
В чём я ошибаюсь?
Спасибо.