- lua gc default is now LUA_GCSTEP instead of LUA_GCCOLLECT, the default value of gc-freq 0 with full collection after each request is really overkill. LUA_GCSTEP with default gc-freq works better. But you can always change gc to full collect via 'lua-gc-full = 1' opt;
- if our coroutine yields unexpected nil while in async mode, we retry the coroutine's call again in order to detect dead coroutine without async switch
- and some cleanup
trying to avoid seg_fault on very heavy load; (our workers now alloc memory for states and create it)
also our app can now work without wsapi app, it will just send 500 error code
only ONE lua_State per 1 worker, and one lua thread per one worker's core.
so, 4 workers with 8000 async cores will not create 8000 lua_States, only 4, for each worker.
uwsgi table now also has lua_thread collection, and mywid variable.
Know bugs: too many simultaneously running cores (like async = 8000) without proper gc will cause segmentation fault (out of memory)
I noticed that all cool kids are using uwsgi_malloc instead of malloc;
Also I noticed, that I forgot to free memory last time (while playing on high level languages)
- rpc calls from my lua app ('local str = uwsgi.rpc(node, func_name, arg1, arg2, ...);')
- global "uwsgi.req_input_read" alias of local "env.input.read" function
- can yield numbers as well
- can return nil instead of header's table (same as {})
- can return nil or string (or number) instead of coroutine
preliminary api for language-independent body read
another step
completed body read language independent implementation
ported gevent to the new read/write api
ported websockets to the new read/write api
removed channels subsystem
removed channels subsystem
ported lua to the new read/write api
fixed post-buffering
readline is still broken
improved request body readline
very difficult test for readline()/read() combo passed
other improvements in postbuffering/read/readline
ported --http-socket to the new api
added X-Forwarded-SSL management
removed old api
more refactoring
ported the RACK plugin to the new api
ported psgi plugin to the new api
defintely removed clustering
simpified ifdel hell
simpified ifdef hell
removed useless configuration options