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

Reply via email to