From aa3bbc7d588739c1b86ed8d6a523a7a97bb96744 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 2 Apr 2011 17:29:07 +0000 Subject: better client handling on write error diff --git a/rhnop-server/tcpserver.lua b/rhnop-server/tcpserver.lua index c035ba4..bb7fcc5 100644 --- a/rhnop-server/tcpserver.lua +++ b/rhnop-server/tcpserver.lua @@ -116,8 +116,12 @@ function main_loop() end for _, output in ipairs(writeables) do - local ret = assert(output.hdl:send(output.buffer)) - output.buffer = string.sub(output.buffer, ret+1) + local ret = output.hdl:send(output.buffer) + if(ret == nil) then + remove_client(output) + else + output.buffer = string.sub(output.buffer, ret+1) + end end end end -- cgit v0.10.2