close cover flush stored send with timeout
authorAndy Green <andy.green@linaro.org>
Tue, 31 Mar 2015 21:34:18 +0000 (05:34 +0800)
committerAndy Green <andy.green@linaro.org>
Tue, 31 Mar 2015 21:34:18 +0000 (05:34 +0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
lib/libwebsockets.c
lib/libwebsockets.h

index 49e5729..ada1909 100644 (file)
@@ -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;
index c21f329..5dc97c7 100644 (file)
@@ -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