Philip M. Gollucci wrote:
> Simon Bertrang wrote:
>>> src/modules/perl/modperl_apache_compat.h
>>> typedef unsigned long apr_os_thread_t;
>>> typedef void * apr_thread_mutex_t;
>>> +typedef void * apr_thread_rwlock_t;
>>> #endif

> Would not it better to just include the appropriate thread file headers
> from APR? Also, as you can that typedef is wrong


My thread foo isn't that great, but it kind of looks like those typedefs
are deliberately wrong to prevent errors when those variables are
referenced elsewhere.

src/modules/perl/modperl_apache_compat.h
22 #if !APR_HAS_THREADS
23 typedef unsigned long apr_os_thread_t;

My unthreaded build of modperl_xs_typedefs.h file contains definitions
to apr_thread_mutex_t and apr_thread_rwlock_t when it seems like it
shouldn't since my build isn't threaded; maybe this is an issue in
lib/ModPerl/WrapXS.pm?

> typedef struct apr_thread_rwlock_t apr_thread_rwlock_t;
>
> As an added benefit, you don't have to come remember to add to this
> when exposing threaded features.
>
> ~/dev/repos/asf/apr/apr/tags/0.9.17/include>
> ls -1 apr_thread_*
> apr_thread_cond.h
> apr_thread_mutex.h
> apr_thread_proc.h
> apr_thread_rwlock.h
>