The library provides the following thread pool functions:
In the example provided in the multithreaded resource managers section, thread_pool_start(tpp) never returns because we set the POOL_FLAG_EXIT_SELF bit. Also, the POOL_FLAG_USE_SELF flag itself never returns, but the current thread becomes part of the thread pool.
If no flags are passed (i.e. 0 instead of any flags), the function returns after the thread pool is created.