diff --git a/src/dhtrunner.cpp b/src/dhtrunner.cpp index 2a5ffc06c3b0d9016c80448938310604ec48741f..576d330440bee54a7c4b27b558a6a11cfd9fabfa 100644 --- a/src/dhtrunner.cpp +++ b/src/dhtrunner.cpp @@ -104,8 +104,11 @@ DhtRunner::run(const Config& config, Context&& context) { std::lock_guard<std::mutex> lck(dht_mtx); auto expected = State::Idle; - if (not running.compare_exchange_strong(expected, State::Running)) + if (not running.compare_exchange_strong(expected, State::Running)) { + if (context.logger) + context.logger->w("[runner %p] Node is already running. Call join() first before calling run() again."); return; + } auto local4 = config.bind4; auto local6 = config.bind6;