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:
-1 if an error occurs (errno is set).
Classification:
QNX Neutrino
Safety: |
|
Cancellation point |
Yes |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |