summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/event/ServerSocket.cxx5
1 files changed, 5 insertions, 0 deletions
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);