Method

GLibThreadPoolset_max_threads

Declaration

gboolean
g_thread_pool_set_max_threads (
  GThreadPool* pool,
  gint max_threads,
  GError** error
)

Description

Sets the maximal allowed number of threads for pool. A value of -1 means that the maximal number of threads is unlimited. If pool is an exclusive thread pool, setting the maximal number of threads to -1 is not allowed.

Setting max_threads to 0 means stopping all work for pool. It is effectively frozen until max_threads is set to a non-zero value again.

A thread is never terminated while calling func, as supplied by g_thread_pool_new(). Instead the maximal number of threads only has effect for the allocation of new threads in g_thread_pool_push(). A new thread is allocated, whenever the number of currently running threads in pool is smaller than the maximal number.

error can be NULL to ignore errors, or non-NULL to report errors. An error can only occur when a new thread couldn’t be created.

Before version 2.32, this function did not return a success status.

Parameters

max_threads gint
 

A new maximal number of threads for pool, or -1 for unlimited.

error GError **
  The return location for a GError*, or NULL.

Return value

Returns: gboolean
 

TRUE on success, FALSE if an error occurred.