diff options
-rw-r--r-- | src/event/ServerSocket.cxx | 5 |
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); |