internal virtual void AddSegment(SegmentFlushTicket ticket, FlushedSegment segment) { lock (this) { // the actual flush is done asynchronously and once done the FlushedSegment // is passed to the flush ticket ticket.SetSegment(segment); } }
internal virtual void AddSegment(SegmentFlushTicket ticket, FlushedSegment segment) { UninterruptableMonitor.Enter(this); try { // the actual flush is done asynchronously and once done the FlushedSegment // is passed to the flush ticket ticket.SetSegment(segment); } finally { UninterruptableMonitor.Exit(this); } }