Skip to main content

break_query_cycle

Function break_query_cycle 

Source
pub fn break_query_cycle<'tcx>(job_map: QueryJobMap<'tcx>, registry: &Registry)
Expand description

Detects query cycles by using depth first search over all active query jobs. If a query cycle is found it will break the cycle by finding an edge which uses a query latch and then resuming that waiter.

There may be multiple cycles involved in a deadlock, but this only breaks one at a time so there will be multiple rounds through the deadlock handler if multiple cycles are present.