[OpenSIPS-Devel] [OpenSIPS/opensips] ea4d7a: rest_client: Fix issues with libcurl parallel tran...

Liviu Chircu liviu at opensips.org
Tue Dec 20 10:09:44 EST 2016


  Branch: refs/heads/2.1
  Home:   https://github.com/OpenSIPS/opensips
  Commit: ea4d7a735ac108a386a28aa9f30f27505b63435a
      https://github.com/OpenSIPS/opensips/commit/ea4d7a735ac108a386a28aa9f30f27505b63435a
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2016-12-20 (Tue, 20 Dec 2016)

  Changed paths:
    A lib/container.h
    A lib/list.h
    M modules/rest_client/rest_client.c
    M modules/rest_client/rest_methods.c
    M modules/rest_client/rest_methods.h

  Log Message:
  -----------
  rest_client: Fix issues with libcurl parallel transfers

We cannot use the "parallel transfers" feature of libcurl's multi interface
because that would consume read events from some of its file descriptors that
had previously been added to the OpenSIPS reactor. This would sometimes lead
to dangling descriptors in the reactor, as well as some OpenSIPS async routes
which are not triggered.

To work around this, we can still achieve the desired effect with a pool of
multi handles each doing a single transfer, rather than using 1 multi handle
doing multiple transfers.

Thanks for reporting and troubleshooting to @arovetto and Agalya Ramachandran

Fixes issue #997

(cherry picked from commit ed8984c54320a6712eb6469de2b42ebef4420b47)

Conflicts:
	modules/rest_client/rest_client.c

(cherry picked from commit 0d0eea9201812887599f5683c75012342421bba6)

Conflicts:
	modules/rest_client/rest_client.c
	modules/rest_client/rest_methods.c




More information about the Devel mailing list