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> { fn close(&self) -> Result<(), SystemError> {
match self.inner.read().as_ref().expect("Tcp Inner is None") { self.inner.read().as_ref().map(
Inner::Init(_) => {} |inner| match inner {
Inner::Connecting(_) => { Inner::Connecting(_) => Err(EINPROGRESS),
return Err(EINPROGRESS); Inner::Established(es) => {
es.close();
es.release();
Ok(())
}
_ => Ok(()),
} }
Inner::Established(es) => { ).unwrap_or(Ok(()))
es.close();
es.release();
}
Inner::Listening(_) => {}
}
Ok(())
} }
} }