Operating systems, development tools, and professional services
for connected embedded systems
for connected embedded systems
![]() |
![]() |
![]() |
![]() |
thread_pool_limits()
Convenience wrapper function for thread_pool_control()
Synopsis:
#include <sys/iofunc.h>
#include <sys/dispatch.h>
int thread_pool_limits( thread_pool_t * pool,
int lowater,
int hiwater,
int maximum,
int increment,
unsigned flags );
Arguments:
- pool
- A thread pool handle that was returned by thread_pool_create().
- lowater
- The minimum number of threads that the pool should keep in the blocked state (i.e. threads that are ready to do work), or a negative number if you don't want to change the current value.
- hiwater
- The maximum number of threads that the pool should keep in the blocked state, or a negative number if you don't want to change the current value.
- maximum
- The maximum number of threads that the pool can create, or a negative number if you don't want to change the current value.
- increment
- The number of new threads created at one time, or a negative number if you don't want to change the current value.
- flags
- The only flag that's accepted is THREAD_POOL_CONTROL_NONBLOCK. For more information, see the documentation for thread_pool_control().
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The thread_pool_limits() function is a wrapper function for thread_pool_control(). If the value of lowater, hiwater, maximum or increment is >=0 then that value is adjusted in the thread pool according to the handle pool.
If you don't set THREAD_POOL_CONTROL_NONBLOCK, the upper and lower bounds for waiting are:
- lower = (lowater != -1) : lowater ? 0;
- upper = (maximum != -1) : maximum ? USHRT_MAX;
![]() |
Having several threads call this function with the same thread pool handle isn't recommended. |
Returns:
-1 if an error occurs (errno is set).
Classification:
| Safety: | |
|---|---|
| Cancellation point | Yes |
| Interrupt handler | No |
| Signal handler | No |
| Thread | Yes |
See also:
thread_pool_control(), thread_pool_create(), thread_pool_destroy(), thread_pool_start()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
