From a637d8f41f520d33356d16b9946d58b0073fdc12 Mon Sep 17 00:00:00 2001 From: Andy Green Date: Wed, 28 Jun 2017 14:27:09 +0800 Subject: [PATCH] file serve: defer transaction completed to HTTP_FILE_COMPLETION --- lib/server.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/lib/server.c b/lib/server.c index 76c914c..3bfd1de 100644 --- a/lib/server.c +++ b/lib/server.c @@ -2379,12 +2379,15 @@ try_pollout: break; } - /* >0 == completion, <0 == error */ + /* >0 == completion, <0 == error + * + * We'll get a LWS_CALLBACK_HTTP_FILE_COMPLETION callback when + * it's done. That's the case even if we just completed the + * send, so wait for that. + */ n = lws_serve_http_file_fragment(wsi); - if (n < 0 || (n > 0 && lws_http_transaction_completed(wsi))) { - lwsl_info("completed\n"); + if (n < 0) goto fail; - } break; -- 2.7.4