It's currently being incorrectly invoked twice -- but the direct
callback is holding the Watcher lock. This results in a recursive
lock when ManagedLock attempts to retrieve the watch id from the
Watcher.
Signed-off-by: Jason Dillaman <dillaman@redhat.com>
std::swap(unregister_watch_ctx, m_unregister_watch_ctx);
- handle_rewatch_complete(r);
m_work_queue->queue(
- create_context_callback<Watcher,
- &Watcher::handle_rewatch_complete>(this));
+ create_context_callback<Watcher,
+ &Watcher::handle_rewatch_complete>(this), r);
}
// wake up pending unregister request