summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xlib/pure/scgi.nim7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/pure/scgi.nim b/lib/pure/scgi.nim
index f8a957d87..53bee5ced 100755
--- a/lib/pure/scgi.nim
+++ b/lib/pure/scgi.nim
@@ -104,6 +104,9 @@ proc next*(s: var TScgistate, timeout: int = -1): bool =
     var L = 0
     while true:
       var d = s.client.recvChar()
+      if d == '\0':
+        s.client.close()
+        return false
       if d notin strutils.digits: 
         if d != ':': scgiError("':' after length expected")
         break
@@ -159,6 +162,10 @@ proc handleAccept(h: PObject) =
   var L = 0
   while true:
     var d = s.client.recvChar()
+    if d == '\0':
+      # Disconnected
+      s.client.close()
+      return
     if d notin strutils.digits: 
       if d != ':': scgiError("':' after length expected")
       break