Skip to content

Commit d29cb66

Browse files
INodeInterface::recv: dont take non-block
Do not take `non_block` as a parameter for `recv` since you can check if the file handle has NON_BLOCK flag set inside the inode. Signed-off-by: Andy-Python-Programmer <[email protected]>
1 parent 5b87170 commit d29cb66

File tree

4 files changed

+8
-9
lines changed

4 files changed

+8
-9
lines changed

src/aero_kernel/src/fs/ext2/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -549,17 +549,17 @@ impl INodeInterface for INode {
549549
return Err(FileSystemError::NotSupported);
550550
}
551551

552-
fn send(&self, message_header: &mut MessageHeader) -> super::Result<usize> {
552+
fn send(&self, message_hdr: &mut MessageHeader) -> super::Result<usize> {
553553
if let Some(proxy) = self.proxy.as_ref() {
554-
return proxy.send(message_header);
554+
return proxy.send(message_hdr);
555555
}
556556

557557
return Err(FileSystemError::NotSupported);
558558
}
559559

560-
fn recv(&self, message_header: &mut MessageHeader, non_block: bool) -> super::Result<usize> {
560+
fn recv(&self, message_hdr: &mut MessageHeader) -> super::Result<usize> {
561561
if let Some(proxy) = self.proxy.as_ref() {
562-
return proxy.recv(message_header, non_block);
562+
return proxy.recv(message_hdr);
563563
}
564564

565565
return Err(FileSystemError::NotSupported);

src/aero_kernel/src/fs/inode.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,7 +248,7 @@ pub trait INodeInterface: Send + Sync {
248248
Err(FileSystemError::NotSupported)
249249
}
250250

251-
fn recv(&self, _message_header: &mut MessageHeader, _non_block: bool) -> Result<usize> {
251+
fn recv(&self, _message_hdr: &mut MessageHeader) -> Result<usize> {
252252
Err(FileSystemError::NotSocket)
253253
}
254254

src/aero_kernel/src/socket/unix.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -388,15 +388,15 @@ impl INodeInterface for UnixSocket {
388388
Ok(sock)
389389
}
390390

391-
fn recv(&self, header: &mut MessageHeader, non_block: bool) -> fs::Result<usize> {
391+
fn recv(&self, header: &mut MessageHeader) -> fs::Result<usize> {
392392
let inner = self.inner.lock_irq();
393393

394394
let peer = match &inner.state {
395395
UnixSocketState::Connected(peer) => peer,
396396
_ => return Err(FileSystemError::NotConnected),
397397
};
398398

399-
if self.buffer.lock_irq().is_empty() && non_block {
399+
if self.buffer.lock_irq().is_empty() && self.is_non_block() {
400400
return Err(FileSystemError::WouldBlock);
401401
}
402402

src/aero_kernel/src/syscall/net.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -97,8 +97,7 @@ pub fn sock_recv(
9797
.get_handle(sockfd)
9898
.ok_or(SyscallError::EINVAL)?;
9999

100-
let non_block = socket.flags.read().contains(OpenFlags::O_NONBLOCK);
101-
Ok(socket.inode().recv(header, non_block)?)
100+
Ok(socket.inode().recv(header)?)
102101
}
103102

104103
/// Marks the socket as a passive socket (i.e. as a socket that will be used to accept incoming

0 commit comments

Comments
 (0)