mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 11:28:25 +00:00
Fix several unreleased mutex locks that cause problem with processing calls
(Closes issue ASTERISK-21119) Reported by: Daniel Bohling Tested by: Daniel Bohling ........ Merged revisions 382409 from http://svn.asterisk.org/svn/asterisk/branches/1.8 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/11@382410 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -4645,6 +4645,7 @@ static struct unistimsession *channel_to_session(struct ast_channel *ast)
|
|||||||
ast_mutex_lock(&sub->parent->parent->lock);
|
ast_mutex_lock(&sub->parent->parent->lock);
|
||||||
if (!sub->parent->parent->session) {
|
if (!sub->parent->parent->session) {
|
||||||
ast_log(LOG_WARNING, "Unistim callback function called without a session\n");
|
ast_log(LOG_WARNING, "Unistim callback function called without a session\n");
|
||||||
|
ast_mutex_unlock(&sub->parent->parent->lock);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
ast_mutex_unlock(&sub->parent->parent->lock);
|
ast_mutex_unlock(&sub->parent->parent->lock);
|
||||||
@@ -5078,6 +5079,7 @@ static int unistim_fixup(struct ast_channel *oldchan, struct ast_channel *newcha
|
|||||||
if (p->owner != oldchan) {
|
if (p->owner != oldchan) {
|
||||||
ast_log(LOG_WARNING, "old channel wasn't %s (%p) but was %s (%p)\n",
|
ast_log(LOG_WARNING, "old channel wasn't %s (%p) but was %s (%p)\n",
|
||||||
ast_channel_name(oldchan), oldchan, ast_channel_name(p->owner), p->owner);
|
ast_channel_name(oldchan), oldchan, ast_channel_name(p->owner), p->owner);
|
||||||
|
ast_mutex_unlock(&p->lock);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user