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.