class ActiveSupport::EventedFileUpdateChecker::Core

def start

def start
  normalize_dirs!
  @dtw, @missing = [*@dtw, *@missing].partition(&:exist?)
  @listener = @dtw.any? ? Listen.to(*@dtw, &method(:changed)) : nil
  @listener&.start
  # Wait for the listener to be ready to avoid race conditions
  # Unfortunately this isn't quite enough on macOS because the Darwin backend
  # has an extra private thread we can't wait on.
  @listener&.wait_for_state(:processing_events)
end