About half the startup time for the httpd is spent
locking and unlocking the mutex that protects the
apr_file_t's internal buffer--even though only one
thread is using the file.  This patch skips the
locking unless the APR_XTHREAD flag has been set
for the file.

--Brian

Index: srclib/apr/file_io/unix/readwrite.c
===================================================================
RCS file: /home/cvspublic/apr/file_io/unix/readwrite.c,v
retrieving revision 1.74
diff -r1.74 readwrite.c
121c121,123
<         apr_thread_mutex_lock(thefile->thlock);
---
>         if (thefile->flags & APR_XTHREAD) {
>             apr_thread_mutex_lock(thefile->thlock);
>         }
167c169,171
<         apr_thread_mutex_unlock(thefile->thlock);
---
>         if (thefile->flags & APR_XTHREAD) {
>             apr_thread_mutex_unlock(thefile->thlock);
>         }
226c230,232
<         apr_thread_mutex_lock(thefile->thlock);
---
>         if (thefile->flags & APR_XTHREAD) {
>             apr_thread_mutex_lock(thefile->thlock);
>         }
254c260,262
<         apr_thread_mutex_unlock(thefile->thlock);
---
>         if (thefile->flags & APR_XTHREAD) {
>             apr_thread_mutex_unlock(thefile->thlock);
>         }




Reply via email to