[Asterisk-code-review] app confbridge: Bridge and announcers not removed if confere... (asterisk[13])

Robert Mordec asteriskteam at digium.com
Tue Jun 19 04:35:24 CDT 2018


Hello Richard Mudgett, Jenkins2, Joshua Colp, 

I'd like you to reexamine a change. Please visit

    https://gerrit.asterisk.org/9026

to look at the new patch set (#3).

Change subject: app_confbridge: Bridge and announcers not removed if conference ends quickly
......................................................................

app_confbridge: Bridge and announcers not removed if conference ends quickly

If a conference is ended very quickly after it was created, ie. first user
immediatlely hangs up, conference bridge and announcer channels are
not removed.

When a conference is created, push_announcer() function is added to playback
queue task processor and conference object reference is bumped.
If a conference is ended while push_announcer() function is still going,
ao2_cleanup(conference) at the end of push_announcer() will call
the destructor function - destroy_conference_bridge().

The destroy_conference_bridge() function will then add hangup_playback() task
to playback queue and will wait for it to end. Since it is already
a current task from playback queue it will wait forever.

This patch modifies how push_announcer() is added to the task processor. Now
a conference thread waits until push_announcer() is done before it continues
further. This way we can avoid a race condition, a conference object
destructor will be always called from conference thread.

ASTERISK-27870 #close

Change-Id: I947a50fb121422d90fd1816d643a54d75185a477
---
M apps/app_confbridge.c
1 file changed, 52 insertions(+), 9 deletions(-)


  git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/26/9026/3
-- 
To view, visit https://gerrit.asterisk.org/9026
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-MessageType: newpatchset
Gerrit-Change-Id: I947a50fb121422d90fd1816d643a54d75185a477
Gerrit-Change-Number: 9026
Gerrit-PatchSet: 3
Gerrit-Owner: Robert Mordec <r.mordec at slican.pl>
Gerrit-Reviewer: Jenkins2
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Robert Mordec <r.mordec at slican.pl>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20180619/3d8685f1/attachment.html>


More information about the asterisk-code-review mailing list