Author: rhuijben
Date: Wed Nov 11 21:13:52 2015
New Revision: 1713934

URL: http://svn.apache.org/viewvc?rev=1713934&view=rev
Log:
Add a helper function commonly needed to fix some SERF_DEBUG_BUCKET_USE issues.

* buckets/buckets.c
  (serf__bucket_drain): New function.

* serf_private.h
  (serf__bucket_drain): New function.

Modified:
    serf/trunk/buckets/buckets.c
    serf/trunk/serf_private.h

Modified: serf/trunk/buckets/buckets.c
URL: 
http://svn.apache.org/viewvc/serf/trunk/buckets/buckets.c?rev=1713934&r1=1713933&r2=1713934&view=diff
==============================================================================
--- serf/trunk/buckets/buckets.c (original)
+++ serf/trunk/buckets/buckets.c Wed Nov 11 21:13:52 2015
@@ -336,6 +336,20 @@ const serf_bucket_type_t *serf_get_type(
     return &fallback_bucket_type;
 }
 
+void serf__bucket_drain(serf_bucket_t *bucket)
+{
+    apr_status_t status;
+
+    do {
+        struct iovec vecs[IOV_MAX];
+        int vecs_used;
+
+        status = serf_bucket_read_iovec(bucket, SERF_READ_ALL_AVAIL,
+                                        IOV_MAX, vecs, &vecs_used);
+    }
+    while (status == APR_SUCCESS);
+}
+
 /* ==================================================================== */
 
 

Modified: serf/trunk/serf_private.h
URL: 
http://svn.apache.org/viewvc/serf/trunk/serf_private.h?rev=1713934&r1=1713933&r2=1713934&view=diff
==============================================================================
--- serf/trunk/serf_private.h (original)
+++ serf/trunk/serf_private.h Wed Nov 11 21:13:52 2015
@@ -463,6 +463,9 @@ void serf__copy_iovec(char *data,
                       struct iovec *vecs,
                       int vecs_used);
 
+/* Drains the bucket as far as possible without waiting for more data */
+void serf__bucket_drain(serf_bucket_t *bucket);
+
 /** Transform a response_bucket in-place into an aggregate bucket. Restore the
     status line and all headers, not just the body.
  


Reply via email to