]> granicus.if.org Git - apache/commitdiff
mpm_fdqueue: follow up to r1821624.
authorYann Ylavic <ylavic@apache.org>
Fri, 19 Jan 2018 12:12:17 +0000 (12:12 +0000)
committerYann Ylavic <ylavic@apache.org>
Fri, 19 Jan 2018 12:12:17 +0000 (12:12 +0000)
Opacify fdqueue types.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1821626 13f79535-47bb-0310-9956-ffa450edef68

server/mpm/event/event.c
server/mpm_fdqueue.c
server/mpm_fdqueue.h

index 617668e2f9a36dbcf036e1f1d27c9e1617d33167..567dcfbabb97b1bda6c0b885781a67907ecaac36 100644 (file)
@@ -219,6 +219,8 @@ static apr_pollfd_t *listener_pollfd;
  */
 static apr_pollset_t *event_pollset;
 
+typedef struct event_conn_state_t event_conn_state_t;
+
 /*
  * The chain of connections to be shutdown by a worker thread (deferred),
  * linked list updated atomically.
@@ -2307,7 +2309,8 @@ static void *APR_THREAD_FUNC worker_thread(apr_thread_t * thd, void *dummy)
             break;
         }
 
-        rv = ap_queue_pop_something(worker_queue, &csd, &cs, &ptrans, &te);
+        rv = ap_queue_pop_something(worker_queue, &csd, (void **)&cs,
+                                    &ptrans, &te);
 
         if (rv != APR_SUCCESS) {
             /* We get APR_EOF during a graceful shutdown once all the
index 6e843a6ef874e880fb66e0c704776da5602413ba..f4a5810836bc3aaae32cbb7377e1aa3168163e87 100644 (file)
@@ -42,6 +42,13 @@ struct fd_queue_info_t
     struct recycled_pool *volatile recycled_pools;
 };
 
+struct fd_queue_elem_t
+{
+    apr_socket_t *sd;
+    apr_pool_t *p;
+    void *baton;
+};
+
 static apr_status_t queue_info_cleanup(void *data_)
 {
     fd_queue_info_t *qi = data_;
@@ -375,7 +382,7 @@ apr_status_t ap_queue_init(fd_queue_t * queue, int queue_capacity,
  *               to reserve an idle worker thread
  */
 apr_status_t ap_queue_push(fd_queue_t * queue, apr_socket_t * sd,
-                           event_conn_state_t * ecs, apr_pool_t * p)
+                           void * baton, apr_pool_t * p)
 {
     fd_queue_elem_t *elem;
     apr_status_t rv;
@@ -392,7 +399,7 @@ apr_status_t ap_queue_push(fd_queue_t * queue, apr_socket_t * sd,
     if (queue->in >= queue->bounds)
         queue->in -= queue->bounds;
     elem->sd = sd;
-    elem->ecs = ecs;
+    elem->baton = baton;
     elem->p = p;
     queue->nelts++;
 
@@ -433,7 +440,7 @@ apr_status_t ap_queue_push_timer(fd_queue_t * queue, timer_event_t *te)
  * 'sd'.
  */
 apr_status_t ap_queue_pop_something(fd_queue_t * queue, apr_socket_t ** sd,
-                                    event_conn_state_t ** ecs, apr_pool_t ** p,
+                                    void ** baton, apr_pool_t ** p,
                                     timer_event_t ** te_out)
 {
     fd_queue_elem_t *elem;
@@ -476,7 +483,7 @@ apr_status_t ap_queue_pop_something(fd_queue_t * queue, apr_socket_t ** sd,
             queue->out -= queue->bounds;
         queue->nelts--;
         *sd = elem->sd;
-        *ecs = elem->ecs;
+        *baton = elem->baton;
         *p = elem->p;
 #ifdef AP_DEBUG
         elem->sd = NULL;
index 2c6f9266e1576cc341fe8d465064cd2e79892ac3..f1ae766a3b77ad4b594a3af65903f3bfeb5cbc11 100644 (file)
 #include <apr_thread_mutex.h>
 #include <apr_thread_cond.h>
 
+struct fd_queue_info_t; /* opaque */
+struct fd_queue_elem_t; /* opaque */
 typedef struct fd_queue_info_t fd_queue_info_t;
-typedef struct event_conn_state_t event_conn_state_t;
+typedef struct fd_queue_elem_t fd_queue_elem_t;
 
 apr_status_t ap_queue_info_create(fd_queue_info_t ** queue_info,
                                   apr_pool_t * pool, int max_idlers,
@@ -53,14 +55,6 @@ apr_status_t ap_queue_info_term(fd_queue_info_t * queue_info);
 apr_uint32_t ap_queue_info_get_idlers(fd_queue_info_t * queue_info);
 void ap_free_idle_pools(fd_queue_info_t *queue_info);
 
-struct fd_queue_elem_t
-{
-    apr_socket_t *sd;
-    apr_pool_t *p;
-    event_conn_state_t *ecs;
-};
-typedef struct fd_queue_elem_t fd_queue_elem_t;
-
 typedef struct timer_event_t timer_event_t;
 
 struct timer_event_t
@@ -94,10 +88,10 @@ void ap_push_pool(fd_queue_info_t * queue_info,
 apr_status_t ap_queue_init(fd_queue_t * queue, int queue_capacity,
                            apr_pool_t * a);
 apr_status_t ap_queue_push(fd_queue_t * queue, apr_socket_t * sd,
-                           event_conn_state_t * ecs, apr_pool_t * p);
+                           void * baton, apr_pool_t * p);
 apr_status_t ap_queue_push_timer(fd_queue_t *queue, timer_event_t *te);
 apr_status_t ap_queue_pop_something(fd_queue_t * queue, apr_socket_t ** sd,
-                                    event_conn_state_t ** ecs, apr_pool_t ** p,
+                                    void ** baton, apr_pool_t ** p,
                                     timer_event_t ** te);
 apr_status_t ap_queue_interrupt_all(fd_queue_t * queue);
 apr_status_t ap_queue_interrupt_one(fd_queue_t * queue);