user code must explicitly complete http transaction
authorAndy Green <andy.green@linaro.org>
Wed, 24 Feb 2016 12:58:19 +0000 (20:58 +0800)
committerAndy Green <andy.green@linaro.org>
Thu, 25 Feb 2016 01:45:17 +0000 (09:45 +0800)
Signed-off-by: Andy Green <andy.green@linaro.org>
changelog
lib/handshake.c

index db66e9d..006cc20 100644 (file)
--- a/changelog
+++ b/changelog
@@ -17,6 +17,17 @@ known to affect anything until after it was fixed
 requests callback on writeable for the socket it will busywait until the
 socket closes
 
+5) MAJOR Although the test server has done it for a few versions already, it
+is now required for the user code to explicitly call
+
+       if (lws_http_transaction_completed(wsi))
+               return -1;
+
+when it finishes replying to a transaction in http.  Previously the library
+did it for you, but that disallowed large, long transfers with multiple
+trips around the event loop (and cgi...).
+
+
 Changes
 -------
 
index 9bae6e4..e48af84 100644 (file)
@@ -130,7 +130,7 @@ lws_read(struct lws *wsi, unsigned char *buf, size_t len)
                switch (wsi->state) {
                        case LWSS_HTTP:
                        case LWSS_HTTP_HEADERS:
-                               goto http_complete;
+                               goto read_ok;
                        case LWSS_HTTP_ISSUING_FILE:
                                goto read_ok;
                        case LWSS_HTTP_BODY: