From ffae6adf662a943a73430b8156b47005f987cb0d Mon Sep 17 00:00:00 2001 From: Steven Barth Date: Mon, 2 Nov 2009 15:40:53 +0000 Subject: [PATCH] Avoid lacking fds --- libs/lucid-http/luasrc/lucid/http/server.lua | 7 +++++++ libs/sgi-cgi/luasrc/sgi/cgi.lua | 1 + 2 files changed, 8 insertions(+) diff --git a/libs/lucid-http/luasrc/lucid/http/server.lua b/libs/lucid-http/luasrc/lucid/http/server.lua index bc8d53168..fd5f7cdd8 100644 --- a/libs/lucid-http/luasrc/lucid/http/server.lua +++ b/libs/lucid-http/luasrc/lucid/http/server.lua @@ -559,11 +559,14 @@ function Server.process(self, client, env) stat, code, msg = client:writeall(table.concat(header, "\r\n")) if sourceout and stat then + local closefd if util.instanceof(sourceout, IOResource) then if not headers["Transfer-Encoding"] then stat, code, msg = sourceout.fd:copyz(client, sourceout.len) + closefd = sourceout.fd sourceout = nil else + closefd = sourceout.fd sourceout = sourceout.fd:blocksource(nil, sourceout.len) end end @@ -571,6 +574,10 @@ function Server.process(self, client, env) if sourceout then stat, msg = ltn12.pump.all(sourceout, sinkout) end + + if closefd then + closefd:close() + end end diff --git a/libs/sgi-cgi/luasrc/sgi/cgi.lua b/libs/sgi-cgi/luasrc/sgi/cgi.lua index b86722d73..3fec6969b 100644 --- a/libs/sgi-cgi/luasrc/sgi/cgi.lua +++ b/libs/sgi-cgi/luasrc/sgi/cgi.lua @@ -87,6 +87,7 @@ function run() active = false elseif id == 6 then data1:copyz(nixio.stdout, data2) + data1:close() end end end -- 2.11.0