libwebsockets/lib
Andy Green d78c93254b cgi: stdout POLLHUP holy grail
This a) directly discovers cgi stdout POLLUP and b) modulates rx flow control on CGI STDOUT
according to the outgoing writeable service.  When the outgoing writeable service finally sees
0 read() waiting for it even though it was signalled for POLLIN, it knows it is a POLLHUP.

Critically when it sees POLLHUP like that, it leaves the rx flow control defeating any
further stdout POLLIN signalling while the rest of the CGI lifecycle completes, eliminating
busywaiting during the CGI.
2017-09-08 20:57:53 +08:00
..
mbedtls_wrapper mbedtls: Add mbedTLS backend support 2017-08-28 20:22:20 +08:00
.gitignore Ignoring linux build files 2013-01-09 15:46:11 +08:00
alloc.c LWS_PLAT_OPTEE: Convert to use TEE_Malloc 2017-02-07 00:51:25 +08:00
base64-decode.c base64 decode fix lengths 2016-08-10 21:20:23 +08:00
client-handshake.c logging: reduce timeout and detach logs to info 2017-09-08 20:56:04 +08:00
client-parser.c close: make close notification go through writable 2017-07-19 08:55:57 +08:00
client.c socks5: style and exit handling 2017-09-01 19:09:47 +08:00
context.c cgi: stdout POLLHUP holy grail 2017-09-08 20:57:53 +08:00
daemonize.c context deprecation 2016-12-20 14:37:07 +08:00
extension-permessage-deflate.c pmd: autobahn fixes 2017-07-28 13:12:03 +08:00
extension-permessage-deflate.h extension permessage deflate 2016-01-11 11:34:01 +08:00
extension.c pmd: autobahn fixes 2017-07-28 13:12:03 +08:00
fops-zip.c win32: enable 64-bit file lengths 2017-06-09 20:20:42 +08:00
getifaddrs.c lws_intptr_t 2017-07-07 08:32:04 +08:00
getifaddrs.h esp8266 initial support 2016-08-10 21:20:23 +08:00
handshake.c close: make close notification go through writable 2017-07-19 08:55:57 +08:00
header.c correct status payload size 2017-07-28 07:03:57 +08:00
hpack.c http2 update integration 2016-04-13 11:53:40 +08:00
http2.c lws_intptr_t 2017-07-07 08:32:04 +08:00
huftable.h http2 hpack basic decode ok including huff 2014-10-12 08:38:16 +08:00
lejp-conf.c coverity 181577: lejp_conf loop on calling uv_loop_close to keep coverity happy 2017-07-19 14:37:04 +08:00
lejp.c documentation convert to doxygen 2016-07-14 08:57:27 +08:00
lejp.h documentation convert to doxygen 2016-07-14 08:57:27 +08:00
lextable-strings.h raw: adoption and processing 2017-02-21 07:47:35 +08:00
lextable.h raw: adoption and processing 2017-02-21 07:47:35 +08:00
libev.c ev: stop event listeners during context destroy 2017-03-29 08:22:19 +08:00
libevent.c libevent: update to use static plugins and work with new libevent2 2017-07-27 07:57:59 +08:00
libuv.c lws-vhost-destroy 2017-07-19 08:51:43 +08:00
libwebsockets.c cgi: stdout POLLHUP holy grail 2017-09-08 20:57:53 +08:00
libwebsockets.h docs: add missing description of tsi on lws_service_tsi 2017-09-08 20:56:04 +08:00
lws-plat-esp32.c esp-idf v3: account for optional SHA256 when walking segments 2017-08-19 13:14:34 +08:00
lws-plat-esp8266.c Subject: windows: support to bind to a specific IPv6 address 2017-06-06 07:44:50 +08:00
lws-plat-optee.c Subject: windows: support to bind to a specific IPv6 address 2017-06-06 07:44:50 +08:00
lws-plat-unix.c coverity 181575: check vhost iface non-null if using via bind_iface 2017-07-19 14:16:32 +08:00
lws-plat-win.c win32: skip delay in WSAWaitForMultipleEvents if POLLOUT expected 2017-08-22 21:32:47 +08:00
minihuf.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
minilex.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
output.c pmd: autobahn fixes 2017-07-28 13:12:03 +08:00
parsers.c logging: reduce timeout and detach logs to info 2017-09-08 20:56:04 +08:00
pollfd.c handle same vh protocol reinsert 2017-08-12 20:50:21 +08:00
private-libwebsockets.h cgi: stdout POLLHUP holy grail 2017-09-08 20:57:53 +08:00
ranges.c RFC7233 HTTP Ranges support for server 2016-12-20 14:37:07 +08:00
rewrite.c check oom on lws_malloc 2016-05-12 21:04:33 +08:00
romfs.c esp32: ROMFS use checksum as mtime so ETAG caching works 2017-04-05 10:44:28 +08:00
romfs.h esp32: ROMFS use checksum as mtime so ETAG caching works 2017-04-05 10:44:28 +08:00
server-handshake.c clean: fixes for appveyor warnings 2017-07-19 04:25:20 +08:00
server.c logging: reduce timeout and detach logs to info 2017-09-08 20:56:04 +08:00
service.c cgi: stdout POLLHUP holy grail 2017-09-08 20:57:53 +08:00
sha-1.c polarssl implementation 2016-04-18 20:05:43 +08:00
smtp.c boilerplate: add back missing Lesser that cut-and-pasted itself around 2017-04-06 23:01:34 +08:00
ssl-client.c mbedtls: client provide CA 2017-09-02 10:50:54 +08:00
ssl-http2.c gcc format strings: http2 2017-02-07 00:51:25 +08:00
ssl-server.c server TLS: allow user to provide cert without using filepaths 2017-09-06 16:31:53 +08:00
ssl.c logging: reduce timeout and detach logs to info 2017-09-08 20:56:04 +08:00