Author: rhuijben
Date: Wed Nov 18 13:08:12 2015
New Revision: 1714992

URL: http://svn.apache.org/viewvc?rev=1714992&view=rev
Log:
Following up on r1714990, move the connections reqevents variable in the io
baton.

* incoming.c
  (read_from_client,
   serf_incoming_create2,
   serf_listener_create,
   serf__incoming_update_pollset): Update usages.

* outgoing.c
  (serf__conn_update_pollset,
   remove_connection,
   serf__process_connection,
   serf_connection_create): Update usages.

* protocols/fcgi_protocol.c
  (serf_fcgi_protocol_t): Remove pointer.
  (serf_fcgi__enqueue_frame): Update usages.
  (serf__fcgi_protocol_init,
   serf__fcgi_protocol_init_server): Remove init.

* protocols/http2_protocol.c
  (serf_http2_protocol_t): Remove pointer.
   serf__http2_protocol_init,
   serf__http2_protocol_init_server): Remove init.
  (serf_http2__enqueue_frame): Update usage.

* serf_private.h
  (serf_io_baton_t): Add variable here.
  (serf_incoming_t,
   serf_connection_t): Remove here.

Modified:
    serf/trunk/incoming.c
    serf/trunk/outgoing.c
    serf/trunk/protocols/fcgi_protocol.c
    serf/trunk/protocols/http2_protocol.c
    serf/trunk/serf_private.h

Modified: serf/trunk/incoming.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/incoming.c?rev=1714992&r1=1714991&r2=1714992&view=diff
==============================================================================
--- serf/trunk/incoming.c (original)
+++ serf/trunk/incoming.c Wed Nov 18 13:08:12 2015
@@ -369,7 +369,7 @@ static apr_status_t read_from_client(ser
         /* Remove us from the pollset */
         tdesc.desc_type = APR_POLL_SOCKET;
         tdesc.desc.s = client->skt;
-        tdesc.reqevents = client->reqevents;
+        tdesc.reqevents = client->io.reqevents;
         client->ctx->pollset_rm(client->ctx->pollset_baton,
                                 &tdesc, &client->io);
 
@@ -730,6 +730,7 @@ apr_status_t serf_incoming_create2(
     ic->io.u.client = ic;
     ic->io.ctx = ctx;
     ic->io.dirty_conn = false;
+    ic->io.reqevents = 0;
     ic->req_setup = req_setup;
     ic->req_setup_baton = req_setup_baton;
     ic->skt = insock;
@@ -805,6 +806,7 @@ apr_status_t serf_listener_create(
     l->io.u.listener = l;
     l->io.ctx = ctx;
     l->io.dirty_conn = false;
+    l->io.reqevents = 0;
     l->accept_func = accept;
     l->accept_baton = accept_baton;
 
@@ -903,7 +905,7 @@ apr_status_t serf__incoming_update_polls
     /* Remove the socket from the poll set. */
     desc.desc_type = APR_POLL_SOCKET;
     desc.desc.s = client->skt;
-    desc.reqevents = client->reqevents;
+    desc.reqevents = client->io.reqevents;
 
     status = ctx->pollset_rm(ctx->pollset_baton,
                              &desc, &client->io);
@@ -965,7 +967,7 @@ apr_status_t serf__incoming_update_polls
     }
 
     /* save our reqevents, so we can pass it in to remove later. */
-    client->reqevents = desc.reqevents;
+    client->io.reqevents = desc.reqevents;
 
     /* Note: even if we don't want to read/write this socket, we still
      * want to poll it for hangups and errors.

Modified: serf/trunk/outgoing.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/outgoing.c?rev=1714992&r1=1714991&r2=1714992&view=diff
==============================================================================
--- serf/trunk/outgoing.c (original)
+++ serf/trunk/outgoing.c Wed Nov 18 13:08:12 2015
@@ -158,7 +158,7 @@ apr_status_t serf__conn_update_pollset(s
     /* Remove the socket from the poll set. */
     desc.desc_type = APR_POLL_SOCKET;
     desc.desc.s = conn->skt;
-    desc.reqevents = conn->reqevents;
+    desc.reqevents = conn->io.reqevents;
 
     status = ctx->pollset_rm(ctx->pollset_baton,
                              &desc, &conn->io);
@@ -253,7 +253,7 @@ apr_status_t serf__conn_update_pollset(s
     }
 
     /* save our reqevents, so we can pass it in to remove later. */
-    conn->reqevents = desc.reqevents;
+    conn->io.reqevents = desc.reqevents;
 
     /* Note: even if we don't want to read/write this socket, we still
      * want to poll it for hangups and errors.
@@ -639,7 +639,7 @@ static apr_status_t remove_connection(se
 
     desc.desc_type = APR_POLL_SOCKET;
     desc.desc.s = conn->skt;
-    desc.reqevents = conn->reqevents;
+    desc.reqevents = conn->io.reqevents;
 
     return ctx->pollset_rm(ctx->pollset_baton,
                            &desc, &conn->io);
@@ -1504,7 +1504,7 @@ apr_status_t serf__process_connection(se
     if (conn->status) {
         tdesc.desc_type = APR_POLL_SOCKET;
         tdesc.desc.s = conn->skt;
-        tdesc.reqevents = conn->reqevents;
+        tdesc.reqevents = conn->io.reqevents;
         ctx->pollset_rm(ctx->pollset_baton,
                         &tdesc, &conn->io);
         return conn->status;
@@ -1524,7 +1524,7 @@ apr_status_t serf__process_connection(se
         if (conn->skt) {
             tdesc.desc_type = APR_POLL_SOCKET;
             tdesc.desc.s = conn->skt;
-            tdesc.reqevents = conn->reqevents;
+            tdesc.reqevents = conn->io.reqevents;
             ctx->pollset_rm(ctx->pollset_baton,
                             &tdesc, &conn->io);
         }
@@ -1561,6 +1561,7 @@ serf_connection_t *serf_connection_creat
     conn->io.u.conn = conn;
     conn->io.ctx = ctx;
     conn->io.dirty_conn = false;
+    conn->io.reqevents = 0;
     conn->hit_eof = 0;
     conn->state = SERF_CONN_INIT;
     conn->latency = -1; /* unknown */

Modified: serf/trunk/protocols/fcgi_protocol.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/protocols/fcgi_protocol.c?rev=1714992&r1=1714991&r2=1714992&view=diff
==============================================================================
--- serf/trunk/protocols/fcgi_protocol.c (original)
+++ serf/trunk/protocols/fcgi_protocol.c Wed Nov 18 13:08:12 2015
@@ -45,8 +45,6 @@ typedef struct serf_fcgi_protocol_t
     serf_bucket_alloc_t *allocator;
     serf_config_t *config;
 
-    apr_int16_t *req_events;
-
     serf_bucket_t *stream;
     serf_bucket_t *ostream;
 
@@ -388,8 +386,8 @@ apr_status_t serf_fcgi__enqueue_frame(se
 
     want_write = APR_STATUS_IS_EAGAIN(status);
 
-    if ((want_write && !(*fcgi->req_events & APR_POLLOUT))
-        || (!want_write && (*fcgi->req_events & APR_POLLOUT)))
+    if ((want_write && !(fcgi->io->reqevents & APR_POLLOUT))
+        || (!want_write && (fcgi->io->reqevents & APR_POLLOUT)))
     {
         serf_io__set_pollset_dirty(fcgi->io);
     }
@@ -539,7 +537,6 @@ void serf__fcgi_protocol_init(serf_conne
     fcgi->pool = protocol_pool;
     fcgi->conn = conn;
     fcgi->io = &conn->io;
-    fcgi->req_events = &conn->reqevents;
     fcgi->stream = conn->stream;
     fcgi->ostream = conn->ostream_tail;
     fcgi->allocator = conn->allocator;
@@ -609,7 +606,6 @@ void serf__fcgi_protocol_init_server(ser
     fcgi->pool = protocol_pool;
     fcgi->client = client;
     fcgi->io = &client->io;
-    fcgi->req_events = &client->reqevents;
     fcgi->stream = client->stream;
     fcgi->ostream = client->ostream_tail;
     fcgi->allocator = client->allocator;

Modified: serf/trunk/protocols/http2_protocol.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/protocols/http2_protocol.c?rev=1714992&r1=1714991&r2=1714992&view=diff
==============================================================================
--- serf/trunk/protocols/http2_protocol.c (original)
+++ serf/trunk/protocols/http2_protocol.c Wed Nov 18 13:08:12 2015
@@ -123,7 +123,6 @@ struct serf_http2_protocol_t
 
     serf_io_baton_t *io; /* Low level connection */
 
-    apr_int16_t *req_events;
     serf_bucket_t *stream, *ostream;
     serf_bucket_alloc_t *allocator;
 
@@ -240,7 +239,6 @@ void serf__http2_protocol_init(serf_conn
     h2->pool = protocol_pool;
     h2->conn = conn;
     h2->io = &conn->io;
-    h2->req_events = &conn->reqevents;
     h2->stream = conn->stream;
     h2->ostream = conn->ostream_tail;
     h2->allocator = conn->allocator;
@@ -333,7 +331,6 @@ void serf__http2_protocol_init_server(se
     h2->pool = protocol_pool;
     h2->client = client;
     h2->io = &client->io;
-    h2->req_events = &client->reqevents;
     h2->stream = client->stream;
     h2->ostream = client->ostream_tail;
     h2->allocator = client->allocator;
@@ -475,8 +472,8 @@ serf_http2__enqueue_frame(serf_http2_pro
 
     want_write = APR_STATUS_IS_EAGAIN(status);
 
-    if ((want_write && !(*h2->req_events & APR_POLLOUT))
-        || (!want_write && (*h2->req_events & APR_POLLOUT)))
+    if ((want_write && !(h2->io->reqevents & APR_POLLOUT))
+        || (!want_write && (h2->io->reqevents & APR_POLLOUT)))
     {
         serf_io__set_pollset_dirty(h2->io);
     }

Modified: serf/trunk/serf_private.h
URL: 
http://svn.apache.org/viewvc/serf/trunk/serf_private.h?rev=1714992&r1=1714991&r2=1714992&view=diff
==============================================================================
--- serf/trunk/serf_private.h (original)
+++ serf/trunk/serf_private.h Wed Nov 18 13:08:12 2015
@@ -142,6 +142,9 @@ typedef struct serf_io_baton_t {
     serf_context_t *ctx;
     bool dirty_conn;
 
+    /* the last reqevents we gave to pollset_add */
+    apr_int16_t reqevents;
+
 } serf_io_baton_t;
 
 /* Should we use static APR_INLINE instead? */
@@ -387,8 +390,6 @@ struct serf_incoming_t {
 
     apr_pollfd_t desc;
 
-    /* the last reqevents we gave to pollset_add */
-    apr_int16_t reqevents;
     apr_int16_t seen_in_pollset;
 
     struct iovec vec[IOV_MAX];
@@ -453,9 +454,6 @@ struct serf_connection_t {
     apr_socket_t *skt;
     apr_pool_t *skt_pool;
 
-    /* the last reqevents we gave to pollset_add */
-    apr_int16_t reqevents;
-
     /* the events we've seen for this connection in our returned pollset */
     apr_int16_t seen_in_pollset;
 


Reply via email to