See https://svn.apache.org/r1663375 for a related fix by covener.
Which, by the way, should probably be backported to 2.4; I see a failure
on a buildbot which deliberately builds with non-threaded APR to ensure
that this configuration remains in SVN's test matrix:
https://ci.apache.org/builders/svn-bb-openbsd/builds/272/steps/Build/logs/stdio

This patch hasn't even been compile tested but looks obvious enough.
Fine to commit?

Index: modules/test/mod_dialup.c
===================================================================
--- modules/test/mod_dialup.c   (revision 1850735)
+++ modules/test/mod_dialup.c   (working copy)
@@ -107,7 +107,9 @@ dialup_callback(void *baton)
     dialup_baton_t *db = (dialup_baton_t *)baton;
     conn_rec *c = db->r->connection;
 
+#if APR_HAS_THREADS
     apr_thread_mutex_lock(db->r->invoke_mtx);
+#endif
 
     status = dialup_send_pulse(db);
 
@@ -115,7 +117,9 @@ dialup_callback(void *baton)
         ap_mpm_register_timed_callback(apr_time_from_sec(1), dialup_callback, 
baton);
     }
     else if (status == DONE) {
+#if APR_HAS_THREADS
         apr_thread_mutex_unlock(db->r->invoke_mtx);
+#endif
         ap_finalize_request_protocol(db->r);
         ap_process_request_after_handler(db->r);
         return;
@@ -127,7 +131,9 @@ dialup_callback(void *baton)
         ap_die(status, db->r);
     }
 
+#if APR_HAS_THREADS
     apr_thread_mutex_unlock(db->r->invoke_mtx);
+#endif
 
     ap_mpm_resume_suspended(c);
 }

Reply via email to