diff --git a/apps/Coordinator.cpp b/apps/Coordinator.cpp index f0b1c2266ced78bd37b35815f1feed5f1fdffc43..90f685fbfaacc96f39caf720c32b612879813647 100644 --- a/apps/Coordinator.cpp +++ b/apps/Coordinator.cpp @@ -41,6 +41,7 @@ void notify() { for (int conn : conns) emper::io::closeAndForget(conn); } +// NOLINTNEXTLINE(bugprone-exception-escape) auto main(int argc, char* argv[]) -> int { if (argc != 2) { std::cerr << "Usage: " << argv[0] << " <count>" << std::endl; @@ -55,7 +56,7 @@ auto main(int argc, char* argv[]) -> int { << " connections" << std::endl; Runtime runtime; - auto* listener = emper::io::tcp_listener(HOST, PORT, [&](int socket) { + auto coordinator_func = [&](int socket) { { std::lock_guard<std::mutex> l(lock); conns.push_back(socket); @@ -70,7 +71,10 @@ auto main(int argc, char* argv[]) -> int { notify(); runtime.initiateTermination(); } - }); + }; + + auto* listener = emper::io::tcp_listener(HOST, PORT, coordinator_func, scount, + {emper::io::SockOpt::ReusePort}); if (!listener) { exit(EXIT_FAILURE);