17#include "apr_arch_threadproc.h"
143 if (
thd->exitval != -1) {
APR Portability Routines.
static void * dummy_worker(void *opaque)
static apr_status_t thread_once_cleanup(void *vcontrol)
int apr_os_thread_equal(apr_os_thread_t tid1, apr_os_thread_t tid2)
const void apr_status_t(*) apr_status_t(* APR_DECLARE)(void) apr_pool_pre_cleanup_register(apr_pool_t *p
const char int apr_pool_t * pool
void const char apr_status_t(* cleanup)(void *))
apr_int32_t apr_int32_t on
apr_interval_time_t apr_pollcb_cb_t func
#define APR_POOL_IMPLEMENT_ACCESSOR(type)
#define apr_pool_create(newpool, parent)
#define apr_pcalloc(p, size)
void *(APR_THREAD_FUNC * apr_thread_start_t)(apr_thread_t *, void *)
const char const char *const const char *const apr_procattr_t * attr
apr_status_t apr_thread_exit(apr_thread_t *thd, apr_status_t retval)
apr_os_thread_t apr_os_thread_current()
apr_status_t apr_thread_join(apr_status_t *retval, apr_thread_t *thd)
apr_status_t apr_threadattr_detach_set(apr_threadattr_t *attr, apr_int32_t on)
apr_status_t apr_thread_data_set(void *data, const char *key, apr_status_t(*cleanup)(void *), apr_thread_t *thread)
apr_status_t apr_thread_data_get(void **data, const char *key, apr_thread_t *thread)
apr_status_t apr_threadattr_create(apr_threadattr_t **new, apr_pool_t *pool)
apr_status_t apr_thread_detach(apr_thread_t *thd)
apr_status_t apr_threadattr_detach_get(apr_threadattr_t *attr)
apr_status_t apr_thread_create(apr_thread_t **new, apr_threadattr_t *attr, apr_thread_start_t func, void *data, apr_pool_t *pool)