Function break_query_cycles

Source
pub fn break_query_cycles(query_map: QueryMap, 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 we only search one cycle at a call and resume one waiter at once. See FIXME below.