fn wait_done(p: &Arc<Progress>, timeout: Duration) -> Result<(), String>Expand description
Poll until the worker finishes; Err on timeout, on a reported error, or when the worker thread vanished without finishing (its Arc clone dropped → nothing can ever set done).