diff options
Diffstat (limited to 'src/wl.rs')
-rw-r--r-- | src/wl.rs | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/wl.rs b/src/wl.rs index bf8989e..1581b2c 100644 --- a/src/wl.rs +++ b/src/wl.rs @@ -6,6 +6,10 @@ use devices::virtio::{ }; use msg_socket::MsgSocket; use std::fs::remove_file; +use std::io::prelude::*; +use std::io::stdout; +use std::os::unix::prelude::*; +use std::process; use sys_util::{error, net::UnixSeqpacketListener, GuestMemory}; use vm_control::MaybeOwnedFd; @@ -20,11 +24,16 @@ fn main() { eprintln!("hello world"); // Create and display the socket. - let mut path = std::env::var("XDG_RUNTIME_DIR").expect("XDG_RUNTIME_DIR missing"); - path.push_str("/crosvm-wl.sock"); + let mut path = std::env::var_os("XDG_RUNTIME_DIR").expect("XDG_RUNTIME_DIR missing"); + path.push("/crosvm_wl-"); + path.push(process::id().to_string()); + path.push(".sock"); let _ = remove_file(&path); let server = UnixSeqpacketListener::bind(&path).expect("failed to create control socket"); - println!("{}", path); + match stdout().write_all(path.as_bytes()) { + Ok(()) => println!(), + Err(e) => eprintln!("{}", e), + } // Receive connection from crosvm. let conn = server.accept().expect("accept failed"); |