mirror of
https://github.com/DragonOS-Community/DragonOS.git
synced 2025-06-08 14:16:47 +00:00
todo: socket close 及 port 接触占用
This commit is contained in:
parent
ddad6b11a1
commit
251e1bca41
@ -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(()))
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user