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

Reply via email to