guard/listen — pull request #148 by rymai (2013-10-10 14:26:46+00:00)
Title: Properly quit Listen when receiving the INT signal

Calling `exit` does not stop Listen in a clean way, that's
causing a very long exit. Celluloid actors cannot be
terminated in a trap block so we cannot call `#stop` inside
the trap block.
The trick is to simply call `#stop` which now only sets an instance
variable to let the thread know that it should exit its
loop and wait for the thread to exit.
The thread then exit its loop, then terminate Celluloid actors cleanly
and exit itself.

I believe it fixes #146.

@thibaudgg, @nex3 what do you guys think of this solution?