Don't retry reads of length 0 with success status until the end of time, while
reading from another bucket. Just return a read of 0 itself.

* buckets/fcgi_buckets.c
  (serf__bucket_fcgi_unframe_read_info): Return special error here.
  (serf_fcgi_unframe_read,
   serf_fcgi_unframe_peek): And fold it into success here.

* buckets/hpack_buckets.c
  (read_hpack_int): Return special error here...
  (hpack_read_bytes): ... and here.
  (serf_hpack_decode_read,
   serf_hpack_decode_peek): And fold it into success here.

* buckets/http2_frame_buckets.c
  (serf__bucket_http2_unframe_read_info): Return special error here.
  (serf_http2_unframe_read,
   serf_http2_unframe_read_iovec,
   serf_http2_unframe_peek): And fold it into success here.

* context.c
  (serf_error_string): Print new error.

* serf.h
  (SERF_ERROR_EMPTY_READ): Declare new error.


git-svn-id: https://svn.apache.org/repos/asf/serf/trunk@1716346 13f79535-47bb-0310-9956-ffa450edef68
5 files changed