thread pool
[utilities]


Typedefs

typedef struct
axutil_thread_pool 
axutil_thread_pool_t

Functions

AXIS2_EXTERN
axutil_thread_t
axutil_thread_pool_get_thread (axutil_thread_pool_t *pool, axutil_thread_start_t func, void *data)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_join_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_exit_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_thread_detach (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN void axutil_thread_pool_free (axutil_thread_pool_t *pool)
AXIS2_EXTERN
axutil_thread_pool_t * 
axutil_thread_pool_init (axutil_allocator_t *allocator)
AXIS2_EXTERN struct
axutil_env
axutil_init_thread_env (const struct axutil_env *system_env)
AXIS2_EXTERN void axutil_free_thread_env (struct axutil_env *thread_env)

Function Documentation

AXIS2_EXTERN void axutil_free_thread_env ( struct axutil_env thread_env  ) 

This function can be used to free the environment that was used in a thread function

AXIS2_EXTERN struct axutil_env* axutil_init_thread_env ( const struct axutil_env system_env  )  [read]

This function can be used to initialize the environment in case of spawning a new thread via a thread function

AXIS2_EXTERN axis2_status_t axutil_thread_pool_exit_thread ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Stop the execution of current thread

Parameters:
thd thread to be stopped
Returns:
status of the operation

AXIS2_EXTERN void axutil_thread_pool_free ( axutil_thread_pool_t *  pool  ) 

Frees resources used by thread_pool

Parameters:
pool thread_pool to be freed

AXIS2_EXTERN axutil_thread_t* axutil_thread_pool_get_thread ( axutil_thread_pool_t *  pool,
axutil_thread_start_t  func,
void *  data 
)

Retrives a thread from the thread pool

Parameters:
func function to be executed in the new thread
data arguments to be passed to the function
Returns:
pointer to a thread in ready state.

AXIS2_EXTERN axutil_thread_pool_t* axutil_thread_pool_init ( axutil_allocator_t allocator  ) 

Initializes (creates) an thread_pool.

Parameters:
allocator user defined allocator for the memory allocation.
Returns:
initialized thread_pool. NULL on error.

AXIS2_EXTERN axis2_status_t axutil_thread_pool_join_thread ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Blocks until the desired thread stops executing.

Parameters:
thd The thread to joined
Returns:
status of the operation

AXIS2_EXTERN axis2_status_t axutil_thread_pool_thread_detach ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Detaches a thread

Parameters:
thd thread to be detached
Returns:
status of the operation


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3