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.