diff --git a/lib/listen/adapter/base.rb b/lib/listen/adapter/base.rb index 2bf07bc0..b7e10390 100644 --- a/lib/listen/adapter/base.rb +++ b/lib/listen/adapter/base.rb @@ -88,7 +88,7 @@ def stop private def _stop - @run_thread.kill.join if @run_thread + @run_thread&.kill @run_thread = nil end diff --git a/lib/listen/adapter/darwin.rb b/lib/listen/adapter/darwin.rb index ac7412c4..07c7a567 100644 --- a/lib/listen/adapter/darwin.rb +++ b/lib/listen/adapter/darwin.rb @@ -69,7 +69,7 @@ def _process_event(dir, path) end def _stop - @worker_thread.kill.join if @worker_thread + @worker_thread&.kill super end end diff --git a/spec/lib/listen/adapter/polling_spec.rb b/spec/lib/listen/adapter/polling_spec.rb index 6c04380d..fae546fb 100644 --- a/spec/lib/listen/adapter/polling_spec.rb +++ b/spec/lib/listen/adapter/polling_spec.rb @@ -58,8 +58,9 @@ expect(snapshot).to receive(:invalidate). with(:dir, '.', { recursive: true }) - subject.start + t = Thread.new { subject.start } sleep 0.25 + t.kill end end