diff --git a/channels/chan_agent.c b/channels/chan_agent.c index 29dc13a5ad..d487428e56 100755 --- a/channels/chan_agent.c +++ b/channels/chan_agent.c @@ -348,7 +348,9 @@ static int agent_hangup(struct ast_channel *ast) ast_pthread_mutex_unlock(&p->app_lock); if (p->pending) { + ast_pthread_mutex_lock(&agentlock); agent_unlink(p); + ast_pthread_mutex_unlock(&agentlock); } if (p->dead) free(p);