From 4d537dbd577dbf62f862448438cc28cdb486cfa8 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Thu, 6 Dec 2018 17:55:51 -0700 Subject: [PATCH] Fix compilation --- src/smolnetd/scheme/icmp.rs | 1 - src/smolnetd/scheme/socket.rs | 11 +++++++---- src/smolnetd/scheme/tcp.rs | 6 +++--- src/smolnetd/scheme/udp.rs | 2 +- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/smolnetd/scheme/icmp.rs b/src/smolnetd/scheme/icmp.rs index b022ca2bb6..08546a256b 100644 --- a/src/smolnetd/scheme/icmp.rs +++ b/src/smolnetd/scheme/icmp.rs @@ -269,4 +269,3 @@ impl<'a, 'b> SchemeSocket for IcmpSocket<'a, 'b> { } } } - diff --git a/src/smolnetd/scheme/socket.rs b/src/smolnetd/scheme/socket.rs index 70e3e5251d..f1d07c4d16 100644 --- a/src/smolnetd/scheme/socket.rs +++ b/src/smolnetd/scheme/socket.rs @@ -106,10 +106,10 @@ type WaitQueue = Vec; type WaitQueueMap = BTreeMap; -pub type DupResult = ( +pub type DupResult = Option<( SchemeFile, Option<(SocketHandle, ::DataT)>, -); +)>; pub trait SchemeSocket where @@ -639,12 +639,15 @@ where }), None, ), - _ => SocketT::dup( + _ => match SocketT::dup( &mut self.socket_set.borrow_mut(), file, path, &mut self.scheme_data, - )?, + )? { + Some(some) => some, + None => return Ok(None), + }, }; if let Some((socket_handle, data)) = update_with { diff --git a/src/smolnetd/scheme/tcp.rs b/src/smolnetd/scheme/tcp.rs index 770f632987..20f69b9f56 100644 --- a/src/smolnetd/scheme/tcp.rs +++ b/src/smolnetd/scheme/tcp.rs @@ -162,7 +162,7 @@ impl<'a> SchemeSocket for TcpSocket<'a> { if tcp_handle.flags & syscall::O_NONBLOCK == syscall::O_NONBLOCK { return Err(SyscallError::new(syscall::EAGAIN)); } else { - Ok(None); + return Ok(None); } } trace!("TCP creating new listening socket"); @@ -181,7 +181,7 @@ impl<'a> SchemeSocket for TcpSocket<'a> { .expect("Can't listen on local endpoint"); } port_set.acquire_port(local_endpoint.port); - return Ok((new_handle, Some((new_socket_handle, ())))); + return Ok(Some((new_handle, Some((new_socket_handle, ()))))); } else { return Err(SyscallError::new(syscall::EBADF)); }, @@ -199,7 +199,7 @@ impl<'a> SchemeSocket for TcpSocket<'a> { port_set.acquire_port(local_endpoint.port); } - Ok((file, None)) + Ok(Some((file, None))) } fn fpath(&self, _: &SchemeFile, buf: &mut [u8]) -> SyscallResult { diff --git a/src/smolnetd/scheme/udp.rs b/src/smolnetd/scheme/udp.rs index d78695806e..f58ad285bd 100644 --- a/src/smolnetd/scheme/udp.rs +++ b/src/smolnetd/scheme/udp.rs @@ -171,7 +171,7 @@ impl<'a, 'b> SchemeSocket for UdpSocket<'a, 'b> { port_set.acquire_port(endpoint.port); } - Ok((file, None)) + Ok(Some((file, None))) } fn fpath(&self, file: &SchemeFile, buf: &mut [u8]) -> SyscallResult {