watcher: release threads waiting in remove() when watcher thread gets cancelled