Change when to setup the ctrl c handler. (#2198)
* copy * fmt * aa * a * Goodbye z3, i hope i won't build you forever * doc * fmt * fix * aa
This commit is contained in:
parent
41d41f25bf
commit
e31658b914
@ -1556,6 +1556,7 @@ where
|
||||
handle.status()
|
||||
}
|
||||
ForkResult::Child => {
|
||||
println!("AAA!");
|
||||
self.shmem_provider.post_fork(true)?;
|
||||
break (staterestorer, self.shmem_provider.clone(), core_id);
|
||||
}
|
||||
@ -1607,16 +1608,6 @@ where
|
||||
ctr = ctr.wrapping_add(1);
|
||||
}
|
||||
} else {
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) =
|
||||
unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) }
|
||||
{
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
// We are the newly started fuzzing instance (i.e. on Windows), first, connect to our own restore map.
|
||||
// We get here *only on Windows*, if we were started by a restarting fuzzer.
|
||||
// A staterestorer and a receiver for single communication
|
||||
@ -1627,6 +1618,14 @@ where
|
||||
)
|
||||
};
|
||||
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) = unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) } {
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
if let Some(core_id) = core_id {
|
||||
let core_id: CoreId = core_id;
|
||||
core_id.set_affinity()?;
|
||||
|
@ -537,22 +537,20 @@ where
|
||||
ctr = ctr.wrapping_add(1);
|
||||
}
|
||||
} else {
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) =
|
||||
unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) }
|
||||
{
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
// We are the newly started fuzzing instance (i.e. on Windows), first, connect to our own restore map.
|
||||
// We get here *only on Windows*, if we were started by a restarting fuzzer.
|
||||
// A staterestorer and a receiver for single communication
|
||||
StateRestorer::from_env(shmem_provider, _ENV_FUZZER_SENDER)?
|
||||
};
|
||||
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) = unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) } {
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
// If we're restarting, deserialize the old state.
|
||||
let (state, mgr) = match staterestorer.restore::<(S, Duration, Vec<ClientStats>)>()? {
|
||||
None => {
|
||||
|
@ -1295,16 +1295,6 @@ where
|
||||
ctr = ctr.wrapping_add(1);
|
||||
}
|
||||
} else {
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) =
|
||||
unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) }
|
||||
{
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
// We are the newly started fuzzing instance (i.e. on Windows), first, connect to our own restore map.
|
||||
// We get here *only on Windows*, if we were started by a restarting fuzzer.
|
||||
// A staterestorer and a receiver for single communication
|
||||
@ -1315,6 +1305,14 @@ where
|
||||
)
|
||||
};
|
||||
|
||||
// At this point we are the fuzzer *NOT* the restarter.
|
||||
// We setup signal handlers to clean up shmem segments used by state restorer
|
||||
#[cfg(all(unix, not(miri)))]
|
||||
if let Err(_e) = unsafe { setup_signal_handler(addr_of_mut!(EVENTMGR_SIGHANDLER_STATE)) } {
|
||||
// We can live without a proper ctrl+c signal handler. Print and ignore.
|
||||
log::error!("Failed to setup signal handlers: {_e}");
|
||||
}
|
||||
|
||||
if let Some(core_id) = core_id {
|
||||
let core_id: CoreId = core_id;
|
||||
core_id.set_affinity()?;
|
||||
|
Loading…
x
Reference in New Issue
Block a user