vmm: Unlink created socket after source connects

Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
Rob Bradford 2020-11-24 15:34:57 +00:00 committed by Samuel Ortiz
parent 1ab1341775
commit df6b52924f

View File

@ -757,10 +757,10 @@ impl Vmm {
let mut socket = match url.scheme() {
"unix" => {
let listener = UnixListener::bind(url.to_file_path().map_err(|_| {
let path = url.to_file_path().map_err(|_| {
MigratableError::MigrateReceive(anyhow!("Error extracting path from URL"))
})?)
.map_err(|e| {
})?;
let listener = UnixListener::bind(&path).map_err(|e| {
MigratableError::MigrateReceive(anyhow!("Error binding to UNIX socket: {}", e))
})?;
let (socket, _addr) = listener.accept().map_err(|e| {
@ -769,6 +769,9 @@ impl Vmm {
e
))
})?;
std::fs::remove_file(&path).map_err(|e| {
MigratableError::MigrateReceive(anyhow!("Error unlinking UNIX socket: {}", e))
})?;
socket
}
_ => {