[OpenSIPS-Devel] [OpenSIPS/opensips] d84899: b2b_entities: avoid deadlock for certain scenarios

Răzvan Crainea noreply at github.com
Wed Nov 16 12:46:05 UTC 2022


  Branch: refs/heads/3.3
  Home:   https://github.com/OpenSIPS/opensips
  Commit: d848992e7625cf017c6cdeddf5642babe9c65851
      https://github.com/OpenSIPS/opensips/commit/d848992e7625cf017c6cdeddf5642babe9c65851
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: avoid deadlock for certain scenarios

When a call was terminted with a BYE from the handler of the 200 OK
reply, the entities lock would remain locked, generating a deadlock.
This commit fixes this (and possible other) situations by generically
keeping a track when the lock is taken and unlock it before exiting.

Thanks to Vlad Patrascu for helping with debugging and solution for this

(cherry picked from commit 87661e1f14f9be6d957cd25c9f7dbe58d6ce0c82)


  Commit: e3b4dbf2a2980c7724676bab05a8297e23502144
      https://github.com/OpenSIPS/opensips/commit/e3b4dbf2a2980c7724676bab05a8297e23502144
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2022-11-16 (Wed, 16 Nov 2022)

  Changed paths:
    M modules/b2b_sdp_demux/b2b_sdp_demux.c

  Log Message:
  -----------
  b2b_sdp_demux: fix CANCEL handling concurrency

Thanks go to Suchi Sahoo from Five9 for reporting it

(cherry picked from commit e3a7ac22c6011bcce497403ce8f880a4b256e5bf)


Compare: https://github.com/OpenSIPS/opensips/compare/ffa0a369b426...e3b4dbf2a298



More information about the Devel mailing list