From c612facef385949daec552c2679491e71d2311e5 Mon Sep 17 00:00:00 2001 From: Alyssa Ross Date: Mon, 6 Jul 2020 16:17:26 +0000 Subject: crosvm: make wl add take socket as fd --- src/main.rs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main.rs b/src/main.rs index 7b47d3c..611dd29 100644 --- a/src/main.rs +++ b/src/main.rs @@ -12,6 +12,7 @@ use std::fs::{File, OpenOptions}; use std::io::{BufRead, BufReader}; use std::num::ParseIntError; use std::os::unix::io::{FromRawFd, RawFd}; +use std::os::unix::net::UnixStream; use std::path::{Path, PathBuf}; use std::string::String; use std::thread::sleep; @@ -2191,8 +2192,10 @@ fn wl_cmd(mut args: std::env::Args) -> std::result::Result<(), ()> { let request = match subcommand { "add" => { let name = args.next().unwrap().as_bytes().to_vec(); - let path = args.next().unwrap().into(); - VmRequest::WlCommand(WlControlCommand::AddSocket { name, path }) + // Safe because we're taking ownership of descriptor 3, and won't use it for anything + // else. + let socket = unsafe { UnixStream::from_raw_fd(3) }; + VmRequest::WlCommand(WlControlCommand::AddSocket { name, socket }) } _ => { error!("Unknown wl subcommand '{}'", subcommand); -- cgit 1.4.1