[dovecot/core] bf4553: lib-http: client: Fixed handling of errors occurri...

GitHub noreply at github.com
Mon Jan 23 12:00:11 UTC 2017


  Branch: refs/heads/master
  Home:   https://github.com/dovecot/core
  Commit: bf45537f0263bdc02dea119ef2ab79599bf1a5c8
      https://github.com/dovecot/core/commit/bf45537f0263bdc02dea119ef2ab79599bf1a5c8
  Author: Stephan Bosch <stephan.bosch at dovecot.fi>
  Date:   2017-01-23 (Mon, 23 Jan 2017)

  Changed paths:
    M src/lib-http/http-client-request.c

  Log Message:
  -----------
  lib-http: client: Fixed handling of errors occurring for unsubmitted requests during http_client_request_send_payload().

When http_client_request_send_payload() is executed for the first time, the request is submitted.
Errors occurring during submission don't trigger a callback immediately.
Instead, these are queued in the client and will trigger a callback when an ioloop is run with the client.
However, in http_client_request_send_payload() the ioloop is never executed when the request fails that way, meaning that
the callback was never called. Since for example SOLR assumes the callback is always called for an error in
http_client_request_send_payload(), this causes all kinds of problems.

Fixed by manually handling the delayed request errors in http_client_request_send_payload() explicitly.




More information about the dovecot-cvs mailing list