[OpenSIPS-Devel] [OpenSIPS/opensips] d6cd4f: rest_client: Fix handling for async timeouts

Liviu Chircu noreply at github.com
Mon Dec 11 16:44:01 UTC 2023


  Branch: refs/heads/3.3
  Home:   https://github.com/OpenSIPS/opensips
  Commit: d6cd4fe6fceb0d1003b19ab88c3ccb74082fc095
      https://github.com/OpenSIPS/opensips/commit/d6cd4fe6fceb0d1003b19ab88c3ccb74082fc095
  Author: Liviu Chircu <liviu at opensips.org>
  Date:   2023-12-11 (Mon, 11 Dec 2023)

  Changed paths:
    M async.h
    M modules/rest_client/rest_client.c
    M modules/rest_client/rest_methods.c
    M modules/rest_client/rest_methods.h
    M modules/tm/async.c

  Log Message:
  -----------
  rest_client: Fix handling for async timeouts

This patch improves all rest_client async operations such that they
now correctly time out after the minimum between:

* the "rest_client.curl_timeout" modparam (seconds)
* the async() statement timeout, if any (seconds)

Credits to Bence Szigeti for helping diagnose and fix the issue

(cherry picked from commit 1ea1852ed79ba4b79cba39643e1274eed509081b)

async: Add support for module-injected timeouts

In some cases, the module may have its own timeout for the async
operation which it would prefer to force into the reactor wait loop,
possibly even have it combined with the async(..., X) statement timeout
as well, with the minimum of the two timeouts to win out.

(cherry picked from commit 03db3688a4c44577db483c1aecdaacc208490ebd)
(cherry picked from commit 3e6195363beacefd46afca74c730fb36b3065b48)





More information about the Devel mailing list