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;

Reply via email to