Axel, can you try this? Seems like a %#$%$ obvious bug.
Arnt
diff --git a/server/tlsthread.cpp b/server/tlsthread.cpp
index e25ed6b..8e05547 100644
--- a/server/tlsthread.cpp
+++ b/server/tlsthread.cpp
@@ -352,7 +352,7 @@ void TlsThread::start()
tv.tv_usec = 0;
}
- int n = select( maxfd+1, &r, &w, 0, &tv );
+ int n = finish ? 0 : select( maxfd+1, &r, &w, 0, &tv );
if ( n < 0 && errno != EINTR )
finish = true;
