signal watcher should not keep loop alive