libwebsockets
Lightweight C library for HTML5 websockets
Threadpool related functions

Threadpool

This allows you to create one or more pool of threads which can run tasks associated with a wsi. If the pool is busy, tasks wait on a queue.

Tasks don't have to be atomic, if they will take more than a few tens of ms they should return back to the threadpool worker with a return of 0. This will allow them to abort cleanly.