Hi, It looks apr_os_thread_get() is wrong on Win32. The types don't match. Excerpted from "include/apr_portable.h" typedef HANDLE apr_os_thread_t; Excerpted from "include/arch/win32/threadproc.h" struct apr_thread_t { apr_pool_t *pool; HANDLE td; ... Excerpted from "threadproc/win32/thread.c" APR_DECLARE(apr_status_t) apr_os_thread_get(apr_os_thread_t **thethd, apr_thread_t *thd) { if (thd == NULL) { return APR_ENOTHREAD; } *thethd = thd->td; return APR_SUCCESS; } Thanks. - INOUE Seiichiro