Fixed issue #114 and #135

You should call `watcher.close()` first.