Mercurial > prosody-hg
comparison net/http/server.lua @ 13341:407174990ab0
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.
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Fri, 24 Nov 2023 00:31:08 +0100 |
| parents | 7c62370dee9a |
| children | d53dd83a9944 |
comparison
equal
deleted
inserted
replaced
| 13340:92b7ccc76c3a | 13341:407174990ab0 |
|---|---|
| 405 response.conn._http_open_response = nil; | 405 response.conn._http_open_response = nil; |
| 406 if response.on_destroy then | 406 if response.on_destroy then |
| 407 response:on_destroy(); | 407 response:on_destroy(); |
| 408 response.on_destroy = nil; | 408 response.on_destroy = nil; |
| 409 end | 409 end |
| 410 if response.persistent then | 410 response:finish_cb(); |
| 411 response:finish_cb(); | 411 if not response.persistent then |
| 412 else | |
| 413 response.conn:close(); | 412 response.conn:close(); |
| 414 end | 413 end |
| 415 end | 414 end |
| 416 function _M.add_handler(event, handler, priority) | 415 function _M.add_handler(event, handler, priority) |
| 417 events.add_handler(event, handler, priority); | 416 events.add_handler(event, handler, priority); |
