diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c index 49e5729f..ada19093 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -74,6 +74,7 @@ libwebsocket_close_and_free_session(struct libwebsocket_context *context, if (wsi->truncated_send_len) { lwsl_info("wsi %p entering WSI_STATE_FLUSHING_STORED_SEND_BEFORE_CLOSE\n", wsi); wsi->state = WSI_STATE_FLUSHING_STORED_SEND_BEFORE_CLOSE; + libwebsocket_set_timeout(wsi, PENDING_FLUSH_STORED_SEND_BEFORE_CLOSE, 5); return; } break; diff --git a/lib/libwebsockets.h b/lib/libwebsockets.h index c21f3291..5dc97c73 100644 --- a/lib/libwebsockets.h +++ b/lib/libwebsockets.h @@ -1167,6 +1167,7 @@ enum pending_timeout { PENDING_TIMEOUT_SSL_ACCEPT, PENDING_TIMEOUT_HTTP_CONTENT, PENDING_TIMEOUT_AWAITING_CLIENT_HS_SEND, + PENDING_FLUSH_STORED_SEND_BEFORE_CLOSE, }; LWS_VISIBLE LWS_EXTERN void