httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject svn commit: r563470 - /httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c
Date Tue, 07 Aug 2007 12:22:20 GMT
Author: jim
Date: Tue Aug  7 05:22:19 2007
New Revision: 563470

URL: http://svn.apache.org/viewvc?view=rev&rev=563470
Log:
Add comments that make it clear that we are using
the 32bit add/inc atomics in an "unsure" method (although
I would assume if they were NOT working, then the various
testing and usage of event for trunk and 2.2.x would have shown
this by now).

Modified:
    httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c

Modified: httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c?view=diff&rev=563470&r1=563469&r2=563470
==============================================================================
--- httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c (original)
+++ httpd/httpd/trunk/server/mpm/experimental/event/fdqueue.c Tue Aug  7 05:22:19 2007
@@ -95,6 +95,11 @@
     ap_push_pool(queue_info, pool_to_recycle);
 
     /* Atomically increment the count of idle workers */
+    /*
+     * TODO: The atomics expect unsigned whereas we're using signed.
+     *       Need to double check that they work as expected or else
+     *       rework how we determine blocked.
+     */
     prev_idlers = apr_atomic_inc32((apr_uint32_t *)&(queue_info->idlers));
 
     /* If other threads are waiting on a worker, wake one up */
@@ -124,6 +129,7 @@
     int prev_idlers;
 
     /* Atomically decrement the idle worker count, saving the old value */
+    /* See TODO in ap_queue_info_set_idle() */
     prev_idlers = apr_atomic_add32((apr_uint32_t *)&(queue_info->idlers), -1);
 
     /* Block if there weren't any idle workers */
@@ -131,6 +137,7 @@
         rv = apr_thread_mutex_lock(queue_info->idlers_mutex);
         if (rv != APR_SUCCESS) {
             AP_DEBUG_ASSERT(0);
+            /* See TODO in ap_queue_info_set_idle() */
             apr_atomic_inc32((apr_uint32_t *)&(queue_info->idlers));    /* back out
dec */
             return rv;
         }



Mime
View raw message