mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2024-08-22 16:01:15 +00:00
vmm: Give vCPU and signal handler thread useful names
Sadly only the first few characters of the thread name is preserved so use a shorter name for the vCPU thread for now. Also give the signal handling thread a name. Signed-off-by: Rob Bradford <robert.bradford@intel.com>
This commit is contained in:
parent
7205700c5f
commit
ad128bf72d
@ -222,6 +222,9 @@ pub enum Error {
|
|||||||
|
|
||||||
/// Failed to allocate the IOAPIC memory range.
|
/// Failed to allocate the IOAPIC memory range.
|
||||||
IoapicRangeAllocation,
|
IoapicRangeAllocation,
|
||||||
|
|
||||||
|
/// Cannot spawn a signal handler thread
|
||||||
|
SignalHandlerSpawn(io::Error),
|
||||||
}
|
}
|
||||||
pub type Result<T> = result::Result<T, Error>;
|
pub type Result<T> = result::Result<T, Error>;
|
||||||
|
|
||||||
@ -1827,7 +1830,7 @@ impl<'a> Vm<'a> {
|
|||||||
let reset_evt = self.devices.reset_evt.try_clone().unwrap();
|
let reset_evt = self.devices.reset_evt.try_clone().unwrap();
|
||||||
self.vcpus.push(
|
self.vcpus.push(
|
||||||
thread::Builder::new()
|
thread::Builder::new()
|
||||||
.name(format!("cloud-hypervisor_vcpu{}", vcpu.id))
|
.name(format!("vcpu{}", vcpu.id))
|
||||||
.spawn(move || {
|
.spawn(move || {
|
||||||
unsafe {
|
unsafe {
|
||||||
extern "C" fn handle_signal(_: i32, _: *mut siginfo_t, _: *mut c_void) {
|
extern "C" fn handle_signal(_: i32, _: *mut siginfo_t, _: *mut c_void) {
|
||||||
@ -1850,6 +1853,7 @@ impl<'a> Vm<'a> {
|
|||||||
match vcpu.run() {
|
match vcpu.run() {
|
||||||
Err(e) => {
|
Err(e) => {
|
||||||
error!("VCPU generated error: {:?}", e);
|
error!("VCPU generated error: {:?}", e);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
Ok(true) => {}
|
Ok(true) => {}
|
||||||
Ok(false) => {
|
Ok(false) => {
|
||||||
@ -1871,7 +1875,11 @@ impl<'a> Vm<'a> {
|
|||||||
let signals = Signals::new(&[SIGWINCH]);
|
let signals = Signals::new(&[SIGWINCH]);
|
||||||
match signals {
|
match signals {
|
||||||
Ok(sig) => {
|
Ok(sig) => {
|
||||||
thread::spawn(move || Vm::os_signal_handler(sig, console_input_clone));
|
thread::Builder::new()
|
||||||
|
.name("signal_handler".to_string())
|
||||||
|
.spawn(move || Vm::os_signal_handler(sig, console_input_clone))
|
||||||
|
.map_err(Error::SignalHandlerSpawn)?;
|
||||||
|
;
|
||||||
}
|
}
|
||||||
Err(e) => error!("Signal not found {}", e),
|
Err(e) => error!("Signal not found {}", e),
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user