diff options
author | Kim Alvefur <zash@zash.se> | 2023-11-24 00:31:08 +0100 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2023-11-24 00:31:08 +0100 |
commit | c41d63004a6d20468ce114af258b7b156651e07f (patch) | |
tree | 3b1889c9a0d96145ff7b5639d7615f8d9c550d90 | |
parent | 58988fbce5ff31a8e1c6d98d0e51e2757fe3add0 (diff) | |
download | prosody-c41d63004a6d20468ce114af258b7b156651e07f.tar.gz prosody-c41d63004a6d20468ce114af258b7b156651e07f.zip |
net.http.server: Complete async waiter for non-persistent connections
Otherwise requests with Connection: close would be stuck in the async
wait that starts after the handle_request() call.
Together with the new async debugging, this makes the async thread stay
in the set of waiting runners forever, where previously it would simply
be garbage collected.
-rw-r--r-- | net/http/server.lua | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/http/server.lua b/net/http/server.lua index 3d7d52b7..88907fcc 100644 --- a/net/http/server.lua +++ b/net/http/server.lua @@ -407,9 +407,8 @@ function _M.finish_response(response) response:on_destroy(); response.on_destroy = nil; end - if response.persistent then - response:finish_cb(); - else + response:finish_cb(); + if not response.persistent then response.conn:close(); end end |