diff options
Diffstat (limited to 'src/libnative')
| -rw-r--r-- | src/libnative/io/net.rs | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/src/libnative/io/net.rs b/src/libnative/io/net.rs index e7effbd6bdb..1c33114dc71 100644 --- a/src/libnative/io/net.rs +++ b/src/libnative/io/net.rs @@ -637,7 +637,7 @@ impl rtio::RtioUdpSocket for UdpSocket { mem::size_of::<libc::sockaddr_storage>() as libc::socklen_t; let dolock = || self.lock_nonblocking(); - let doread = |nb| unsafe { + let n = try!(read(fd, self.read_deadline, dolock, |nb| unsafe { let flags = if nb {c::MSG_DONTWAIT} else {0}; libc::recvfrom(fd, buf.as_mut_ptr() as *mut libc::c_void, @@ -645,8 +645,7 @@ impl rtio::RtioUdpSocket for UdpSocket { flags, storagep, &mut addrlen) as libc::c_int - }; - let n = try!(read(fd, self.read_deadline, dolock, doread)); + })); sockaddr_to_addr(&storage, addrlen as uint).and_then(|addr| { Ok((n as uint, addr)) }) |
