From 64da9399ca1e26c038dcb46ee53c4b5375f5d553 Mon Sep 17 00:00:00 2001 From: Max Kellermann <max@musicpd.org> Date: Tue, 30 Oct 2018 20:36:42 +0100 Subject: [PATCH] event/ServerSocket: allow mixing AddFD() with other Add*() methods --- src/event/ServerSocket.cxx | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/event/ServerSocket.cxx b/src/event/ServerSocket.cxx index cf51cb363..1ba68db9b 100644 --- a/src/event/ServerSocket.cxx +++ b/src/event/ServerSocket.cxx @@ -207,6 +207,11 @@ ServerSocket::Open() assert(i.GetSerial() > 0); assert(good == nullptr || i.GetSerial() >= good->GetSerial()); + if (i.IsDefined()) + /* already open - was probably added by + AddFD() */ + continue; + if (bad != nullptr && i.GetSerial() != bad->GetSerial()) { Close(); std::rethrow_exception(last_error);