aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-07-08 19:02:36 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-07-08 19:02:36 +0000
commit8d2efd92886f618ce3dc132ee0ace15cf3166403 (patch)
tree2980ca4626fdfa72054cefe5cf8da1234ab9bd18
parent67746a9e916511407125ddf6e1205cecd0a3c932 (diff)
Lock agents while removing pending ones
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1168 f38db490-d61c-443f-a65b-d21fe96a405b
-rwxr-xr-xchannels/chan_agent.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 29dc13a5a..d487428e5 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);