Skip to content
  • Ondřej Kuzník's avatar
    ITS#9584 Track refreshing status explicitly · 75636a40
    Ondřej Kuzník authored and Quanah Gibson-Mount's avatar Quanah Gibson-Mount committed
    A refresh can jump across multiple threads, we cannot just lock a
    mutex, we need to track who that is and clear when finished.
    
    In addition to that, fix our internal syncrepl session tracking pulling
    it closer to RFC 4533, refreshDone now represents the receipt of
    refreshDone flag. Refreshing status is maintained for plain refreshes
    (and times when we might be starting one but don't know for sure).
    
    We still reschedule a new sync with a delay if there is another one
    running but tracking refreshes this way paves the way to being able to
    wake them up if we start tracking them somehow.
    75636a40