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);