diff options
Diffstat (limited to 'thirdparty/libwebsockets/core/output.c')
-rw-r--r-- | thirdparty/libwebsockets/core/output.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/thirdparty/libwebsockets/core/output.c b/thirdparty/libwebsockets/core/output.c index e2ff18ef27..11965a06b9 100644 --- a/thirdparty/libwebsockets/core/output.c +++ b/thirdparty/libwebsockets/core/output.c @@ -126,6 +126,18 @@ int lws_issue_raw(struct lws *wsi, unsigned char *buf, size_t len) lwsl_info("** %p signalling to close now\n", wsi); return -1; /* retry closing now */ } + +#if defined(LWS_ROLE_H1) || defined(LWS_ROLE_H2) +#if !defined(LWS_WITHOUT_SERVER) + if (wsi->http.deferred_transaction_completed) { + lwsl_notice("%s: partial completed, doing " + "deferred transaction completed\n", + __func__); + wsi->http.deferred_transaction_completed = 0; + return lws_http_transaction_completed(wsi); + } +#endif +#endif } /* always callback on writeable */ lws_callback_on_writable(wsi); |