While conducting an internal unsafe review, we identified a possible soundness issue in ChildImp::wait
|
pub async fn wait(&mut self) -> Result<ExitStatus> { |
|
let handles = self.handles.clone(); |
|
spawn_blocking(|| Self::wait_imp(handles, INFINITE)).await??; |
|
self.inner.wait().await |
|
} |
This function and the one below call the Clone impl that appears to undermine the unsafe Drop impl on self.handles.