apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ian Gardner <ian.gard...@scinapps.com>
Subject apr_pool_cleanup_kill() synchronisation
Date Wed, 03 Sep 2008 16:08:32 GMT
Hello,

I get an infinite loop in apr_pool_cleanup_kill when it is called by two
threads simultaneously via apr_thread_mutex_destroy, i.e. with call chain:

apr_thread_mutex_destroy
  apr_pool_cleanup_run
    apr_pool_cleanup_kill

Each thread calls apr_thread_mutex_destroy on a different mutex, but in
the same pool.

Looking naively at apr_pool_cleanup_kill it would appear to be modifying
pool state variables without any sort of concurrency protection which
could explain the problem.

Am I missing something obvious?

Platform is linux (opensuse) / amd64.

Regards,
Ian Gardner

Mime
View raw message