[[[
Fix a race condition in svnserve logging when running in threaded mode.

Memory allocations from the shared logger->pool were being performed 
before the logger->mutex was acquired, leading to potential pool 
corruption and SEGV crashes during high-frequency concurrent logging 
events (e.g. client connection reset bursts).

* subversion/svnserve/logger.c
  (log_message): Move apr_palloc and svn_time_to_cstring calls 
    inside the mutex-protected critical section.
]]]

Index: subversion/svnserve/logger.c
===================================================================
--- subversion/svnserve/logger.c	(revision 1899510)
+++ subversion/svnserve/logger.c	(working copy)
@@ -102,12 +102,13 @@
 
       /* 8192 from MAX_STRING_LEN in from httpd-2.2.4/include/httpd.h */
       const apr_size_t errstr_size = 8192;
-      char *errstr = apr_palloc(logger->pool, errstr_size);
+      char *errstr;
 
       svn_error_clear(svn_mutex__lock(logger->mutex));
 
-      timestr = svn_time_to_cstring(apr_time_now(), logger->pool);
+      errstr = apr_palloc(logger->pool, errstr_size);
+      timestr = svn_time_to_cstring(apr_time_now(), logger->pool);
       remote_host = client_info && client_info->remote_host
                   ? client_info->remote_host
                   : "-";
