Avoid lacking fds
This commit is contained in:
parent
c45930e05e
commit
ffae6adf66
2 changed files with 8 additions and 0 deletions
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -87,6 +87,7 @@ function run()
|
|||
active = false
|
||||
elseif id == 6 then
|
||||
data1:copyz(nixio.stdout, data2)
|
||||
data1:close()
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue