fn accept()

in src/vtok_rpc/src/proto.rs [246:261]


    fn accept(&self) -> IoResult<VsockStream> {
        let mut addr: libc::sockaddr_vm = unsafe { std::mem::zeroed() };
        let mut addr_len = size_of::<libc::sockaddr_vm>() as libc::socklen_t;
        let cl_fd = unsafe {
            libc::accept(
                self.fd,
                &mut addr as *mut _ as *mut libc::sockaddr,
                &mut addr_len,
            )
        };
        if cl_fd < 0 {
            return Err(IoError::last_os_error());
        }

        Ok(unsafe { VsockStream::from_raw_fd(cl_fd) })
    }