thread_pool_limits()
QNX SDP8.0C Library ReferenceAPIDeveloper
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;
Returns:
- EOK
- Success.
- -1
- An error occurred (errno is set).
Errors:
This function can set any of the same errors as thread_pool_control().
Classification:
Safety: | |
---|---|
Cancellation point | Yes |
Signal handler | No |
Thread | Yes |
Page updated: