Skip to content

Fix deadlock during token refresh in IOManagerDmsProxy

  • Refactor IOManagerDmsProxy code so the token expiry and refresh through ensureIOManager() is in the IOManagerDMSProxy and not in the DMSIOManagerFactory. Use shared_ptr and mutex to make sure one thread is not refreshing the IOManager while another thread tries to use it.
  • Refactor IOManager creation so it's possible to share a CurlHandler between the IOManagers created by IOManagerDmsProxy. This avoids the CurlHandler getting deleted when token refresh happens.

Merge request reports