command/rsync-auto: properly exit on interrupt

Currently, interrupting 'vagrant rsync-auto' once it's waiting for
filesystem events has no effect. Appears to be a deadlock related to
signal handlers in Ruby 2.0 [0].

Remove call to `thread.join` in signal handler. The handler doesn't
need to wait for `true` to be added to the queue; it just needs to
launch the thread.

[0]: https://bugs.ruby-lang.org/issues/7917
This commit is contained in:
Nikhil Benesch 2014-04-26 16:05:58 -04:00
parent 75ee7425f5
commit 8fb49f10cc
1 changed files with 1 additions and 1 deletions

View File

@ -114,7 +114,7 @@ module VagrantPlugins
callback = lambda do
# This needs to execute in another thread because Thread
# synchronization can't happen in a trap context.
Thread.new { queue << true }.join
Thread.new { queue << true }
end
# Run the listener in a busy block so that we can cleanly