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:
Igor Goncharovskiy
2013-03-05 03:51:48 +00:00
parent 0667c05261
commit d4cb37c956

View File

@@ -4645,6 +4645,7 @@ static struct unistimsession *channel_to_session(struct ast_channel *ast)
ast_mutex_lock(&sub->parent->parent->lock);
if (!sub->parent->parent->session) {
ast_log(LOG_WARNING, "Unistim callback function called without a session\n");
ast_mutex_unlock(&sub->parent->parent->lock);
return NULL;
}
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) {
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_mutex_unlock(&p->lock);
return -1;
}