Scgi module handles socket disconnection properly now.
This commit is contained in:
parent
11eda851b0
commit
100503f962
1 changed files with 7 additions and 0 deletions
|
|
@ -104,6 +104,9 @@ proc next*(s: var TScgistate, timeout: int = -1): bool =
|
||||||
var L = 0
|
var L = 0
|
||||||
while true:
|
while true:
|
||||||
var d = s.client.recvChar()
|
var d = s.client.recvChar()
|
||||||
|
if d == '\0':
|
||||||
|
s.client.close()
|
||||||
|
return false
|
||||||
if d notin strutils.digits:
|
if d notin strutils.digits:
|
||||||
if d != ':': scgiError("':' after length expected")
|
if d != ':': scgiError("':' after length expected")
|
||||||
break
|
break
|
||||||
|
|
@ -159,6 +162,10 @@ proc handleAccept(h: PObject) =
|
||||||
var L = 0
|
var L = 0
|
||||||
while true:
|
while true:
|
||||||
var d = s.client.recvChar()
|
var d = s.client.recvChar()
|
||||||
|
if d == '\0':
|
||||||
|
# Disconnected
|
||||||
|
s.client.close()
|
||||||
|
return
|
||||||
if d notin strutils.digits:
|
if d notin strutils.digits:
|
||||||
if d != ':': scgiError("':' after length expected")
|
if d != ':': scgiError("':' after length expected")
|
||||||
break
|
break
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue