Does Clang give a warning here?  I think this should be `wait_for(std::chrono::seconds(0))` to avoid blocking.