thread.h File Reference

#include "common.h"
#include "config.h"
#include "collection.h"
#include "linked_list.h"
#include "hashlist.h"
#include "vector.h"

Go to the source code of this file.

Data Structures

struct  _cp_pooled_thread
struct  _cp_thread_pool
struct  cp_pooled_thread_scheduler
struct  _cp_pooled_thread_client_interface

Typedefs

typedef int(*) cp_thread_stop_fn (void *)
typedef CPROPS_DLL struct
_cp_pooled_thread 
cp_pooled_thread
typedef CPROPS_DLL struct
_cp_thread_pool 
cp_thread_pool
typedef int cp_pooled_thread_report_load (struct _cp_pooled_thread_client_interface *s)
typedef void cp_pooled_thread_shrink (struct _cp_pooled_thread_client_interface *)
typedef CPROPS_DLL struct
_cp_pooled_thread_client_interface 
cp_pooled_thread_client_interface

Functions

long cp_pooled_thread_get_id (cp_pooled_thread *pt)
CPROPS_DLL cp_pooled_threadcp_pooled_thread_create (struct _cp_thread_pool *owner)
void cp_pooled_thread_destroy (cp_pooled_thread *t)
int cp_pooled_thread_stop (cp_pooled_thread *pt)
int cp_pooled_thread_run_task (cp_pooled_thread *pt, cp_thread_action action, void *prm)
int cp_pooled_thread_run_stoppable_task (cp_pooled_thread *pt, cp_thread_action action, void *action_prm, cp_thread_stop_fn stop_fn, void *stop_prm)
void * cp_pooled_thread_run (void *prm)
cp_thread_poolcp_thread_pool_create (int min_size, int max_size)
void cp_thread_pool_destroy (cp_thread_pool *pool)
int cp_thread_pool_wait (cp_thread_pool *pool)
int cp_thread_pool_stop (cp_thread_pool *pool)
cp_thread * cp_thread_pool_get (cp_thread_pool *pool, cp_thread_action action, void *prm)
cp_thread * cp_thread_pool_get_stoppable (cp_thread_pool *pool, cp_thread_action action, void *action_prm, cp_thread_stop_fn stop_fn, void *stop_prm)
cp_thread * cp_thread_pool_get_nb (cp_thread_pool *pool, cp_thread_action action, void *prm)
cp_thread * cp_thread_pool_get_stoppable_nb (cp_thread_pool *pool, cp_thread_action action, void *action_prm, cp_thread_stop_fn stop_fn, void *stop_prm)
int cp_thread_pool_count_available (cp_thread_pool *pool)
cp_pooled_thread_client_interfacecp_pooled_thread_client_interface_create (cp_pooled_thread_scheduler *owner, void *client, int min_threads, int max_threads, cp_pooled_thread_report_load report_load, cp_pooled_thread_shrink shrink, cp_thread_action action, void *action_prm, cp_thread_stop_fn stop_fn, void *stop_prm)
void cp_pooled_thread_client_interface_destroy (cp_pooled_thread_client_interface *client)
void cp_pooled_thread_client_negociate (cp_pooled_thread_client_interface *c)
cp_pooled_thread_schedulercp_pooled_thread_scheduler_create (cp_thread_pool *pool)
void cp_pooled_thread_scheduler_destroy (cp_pooled_thread_scheduler *scheduler)
void cp_pooled_thread_scheduler_register_client (cp_pooled_thread_scheduler *scheduler, cp_pooled_thread_client_interface *client)
void cp_pooled_thread_client_get (cp_pooled_thread_client_interface *c)
void cp_pooled_thread_client_get_stoppable (cp_pooled_thread_client_interface *c)
void cp_pooled_thread_client_get_nb (cp_pooled_thread_client_interface *c)
void cp_pooled_thread_client_get_stoppable_nb (cp_pooled_thread_client_interface *c)

Variables

__BEGIN_DECLS typedef void *(*) cp_thread_action (void *)


Detailed Description

definitions for the thread management framework. the current implementation is based on the POSIX thread api.

Definition in file thread.h.


Generated on Mon Dec 5 23:00:22 2011 for cprops by  doxygen 1.4.7