GNU bug report logs -
#40677
Jami
Previous Next
Full log
View this message in rfc822 format
---
gnu/packages/patches/pjproject-fix.patch | 21 +++++++++++++++++++++
gnu/packages/telephony.scm | 2 ++
2 files changed, 23 insertions(+)
create mode 100644 gnu/packages/patches/pjproject-fix.patch
diff --git a/gnu/packages/patches/pjproject-fix.patch b/gnu/packages/patches/pjproject-fix.patch
new file mode 100644
index 0000000000..8d7e22f965
--- /dev/null
+++ b/gnu/packages/patches/pjproject-fix.patch
@@ -0,0 +1,21 @@
+--- a/pjsip/src/pjsip-ua/sip_inv.c (revision 6086)
++++ b/pjsip/src/pjsip-ua/sip_inv.c (revision 6087)
+@@ -314,10 +314,16 @@
+ inv->cb_called |= (1 << state);
+
+- /* Call on_state_changed() callback. */
++ /* Call on_state_changed() callback.
++ * While in the callback, can the state shift to DISCONNECTED? Perhaps
++ * yes, so better avoid premature destroy of the invite session by
++ * temporarily increase its ref counter.
++ */
++ pjsip_inv_add_ref(inv);
+ if (mod_inv.cb.on_state_changed && inv->notify && !dont_notify)
+ (*mod_inv.cb.on_state_changed)(inv, e);
++ pjsip_inv_dec_ref(inv);
+
+ /* Only decrement when previous state is not already DISCONNECTED */
+- if (inv->state == PJSIP_INV_STATE_DISCONNECTED &&
++ if (state == PJSIP_INV_STATE_DISCONNECTED &&
+ prev_state != PJSIP_INV_STATE_DISCONNECTED)
+ {
diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm
index 62bd8fd548..7ee9bdd9ab 100644
--- a/gnu/packages/telephony.scm
+++ b/gnu/packages/telephony.scm
@@ -655,6 +655,8 @@ calls and messages")
(url "https://github.com/pjsip/pjproject.git")
(commit "5dfa75be7d69047387f9b0436dd9492bbbf03fe4")))
(modules '((guix build utils)))
+ (patches
+ (search-patches "pjproject-fix.patch"))
(snippet
'(begin
(let ((third-party-directories
--
2.26.1
This bug report was last modified 5 years and 6 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.