Skip to main content

rerun_mark

Function rerun_mark 

Source
pub fn rerun_mark() -> i32
Expand description

Random temporary task status sentinel for the mark_rerun two-phase reset.

mark_rerun stamps the in-scope tasks with this value, then re-selects them by status = <sentinel> to delete their logs and flip them to TODO. The sentinel must be disjoint from every value a task can otherwise legitimately hold, or an unrelated task gets swept into the rerun: live leases occupy [1, 65536] (fetch_tasks stamps 1 + u16), TODO is 0, and completed/Blocked tasks are < 0. So we draw a positive value strictly above the maximum lease — in [65537, 131072] — which collides with none of them. (The old rerun mark reused random_mark’s raw u16, which overlapped the live-lease range and aliased TODO at 0; KNOWN_ISSUES R-13.) All temp marks stay > 0.