Skip to content
Snippets Groups Projects
  • Dato Simó's avatar
    Loader.hs: ignore expired ArSuspended policies · ef947a42
    Dato Simó authored
    
    At the moment, because 'mergeData' is pure, it may set instance auto-repair
    policies that are of the form `ArSuspended $ Until timestamp_in_the_past`.
    If later on the auto-repair tool notices this, it has lost access to what
    would be the next-in-line policy to use (and would have to re-parse all
    tags again).
    
    To avoid this, we pass the current time to 'mergeData' from ExtLoader.hs,
    and we propagate it to Loader.getArPolicy. ExtLoader.loadExternalData is in
    the IO monad, so it has ready access to getClockTime.
    
    A few other places were calling 'mergeData' directly. For Hscan.hs and
    IAlloc.hs, we add appropriate calls to getClockTime. For files under test/,
    we use a current time of 0.
    
    Signed-off-by: default avatarDato Simó <dato@google.com>
    Reviewed-by: default avatarIustin Pop <iustin@google.com>
    ef947a42