todo: socket close 及 port 接触占用

This commit is contained in:
Samuka007 2024-10-17 06:39:49 +00:00
parent ddad6b11a1
commit 251e1bca41

View File

@ -303,18 +303,17 @@ impl Socket for TcpSocket {
}
fn close(&self) -> Result<(), SystemError> {
match self.inner.read().as_ref().expect("Tcp Inner is None") {
Inner::Init(_) => {}
Inner::Connecting(_) => {
return Err(EINPROGRESS);
self.inner.read().as_ref().map(
|inner| match inner {
Inner::Connecting(_) => Err(EINPROGRESS),
Inner::Established(es) => {
es.close();
es.release();
Ok(())
}
_ => Ok(()),
}
Inner::Established(es) => {
es.close();
es.release();
}
Inner::Listening(_) => {}
}
Ok(())
).unwrap_or(Ok(()))
}
}