rewrite_by_lua ' ngx.ctx.foo = 3 '; content_by_lua ' # if ngx.headers_sent ~= true then # ngx.send_headers() # end return ngx.exit(200) '; header_filter_by_lua ' print(ngx.ctx.foo) ';
rewrite_by_lua ' ngx.ctx.foo = 3 '; content_by_lua ' # if ngx.headers_sent ~= true then # ngx.send_headers() # end return ngx.exit(200) '; header_filter_by_lua ' print(ngx.ctx.foo) ';去掉注释部分的语句,就正常了,否则在 header_filter_by_lua 中打印 ngx.ctx.foo 显示为 nil. 这个行为符合预期吗?
Hello! 2014-05-05 21:08 GMT-07:00 Monkey Zhang: > > 去掉注释部分的语句,就正常了,否则在 header_filter_by_lua 中打印 ngx.ctx.foo 显示为 nil. 这个行为符合预期吗? > 这确实是 ngx.ctx 表的生命期管理中的一处 bug. 我明天会提交一个补丁修正此问题。多谢报告! 不过我没看出来这和你邮件标题里的“泄漏”一词有什么关系。是我这里遗漏掉什么了吗? Regards, -agentzh
Hello! 2014-05-06 17:16 GMT-07:00 Yichun Zhang (agentzh): > 2014-05-05 21:08 GMT-07:00 Monkey Zhang: >> 去掉注释部分的语句,就正常了,否则在 header_filter_by_lua 中打印 ngx.ctx.foo 显示为 nil. 这个行为符合预期吗? >> > > 这确实是 ngx.ctx 表的生命期管理中的一处 bug. 我明天会提交一个补丁修正此问题。多谢报告! > 刚刚我提交了一个补丁,修正了这个问题: https://github.com/openresty/lua-nginx-module/commit/ed1eb4f 请尝试 git master 里的最新版。 多谢! Best regards, -agentzh