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

Vlad Pătrașcu noreply at github.com
Tue Feb 21 21:06:17 UTC 2023


  Branch: refs/heads/3.2
  Home:   https://github.com/OpenSIPS/opensips
  Commit: 85cc2aff3eefc8296962a1083b31ff8ba5e2a5ea
      https://github.com/OpenSIPS/opensips/commit/85cc2aff3eefc8296962a1083b31ff8ba5e2a5ea
  Author: Razvan Crainea <razvan at opensips.org>
  Date:   2023-02-21 (Tue, 21 Feb 2023)

  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: e4341ab28f3139506f561283dbef4c35f9bb9dde
      https://github.com/OpenSIPS/opensips/commit/e4341ab28f3139506f561283dbef4c35f9bb9dde
  Author: Ovidiu Sas <osas at voipembedded.com>
  Date:   2023-02-21 (Tue, 21 Feb 2023)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: don't try to get the lock if the l;ock was alredy taken
  - closes #3011
  - this part of the code should be reviewed and cleaned up or clarity

(cherry picked from commit a7eb936241b6187a94416aae4f05314cecd915cd)


  Commit: 974d34b2d1e90e08018a4ffdd7b6020c0c643461
      https://github.com/OpenSIPS/opensips/commit/974d34b2d1e90e08018a4ffdd7b6020c0c643461
  Author: Vlad Patrascu <vladp at opensips.org>
  Date:   2023-02-21 (Tue, 21 Feb 2023)

  Changed paths:
    M modules/b2b_entities/dlg.c

  Log Message:
  -----------
  b2b_entities: remove no-op and improve code clarity

Related to #3011

(cherry picked from commit 4b3ff72b7fd76afb884fdd6488802d1ffe2bc4fa)


Compare: https://github.com/OpenSIPS/opensips/compare/e201d69d386f...974d34b2d1e9



More information about the Devel mailing list