The previous monitor recovery logic touches the source monitoring type, resets the monitor even if the output device hasn't been invalidated, and was susceptible to races. Monitor invalidation should live within the monitor abstraction.
The previous monitor recovery logic touches the source monitoring type, resets the monitor even if the output device hasn't been invalidated, and was susceptible to races. Monitor invalidation should live within the monitor abstraction.