Hi.
Hm, i just sent a job with a block with no tasks and afserver has not hung.
( i`ve also committed "invalUd" fix).
So our sever is working for about a week with a reduced threads stack with no hung.

I think that it is better to raise all needed threads at once on server start.
As it is more hard to raise 1 thread per connection and than finish thread.
Raising hundreds threads per second (per afrender) can consume much system resources.

I also want to try epoll on Linux.
And it will be configurable what to use for IO, epoll or threads pool.

It configurable to use blocking (threading) or non-blocking (epoll) IO on Linux.
For now epoll is disabled by default. Testing needed.
Also right now code can be compiled only on Linux, #ifdef-s need to skip epoll code for other platforms (and i will do this soon).