aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_agent.c
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2004-12-15 19:07:10 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2004-12-15 19:07:10 +0000
commit57db82a658e9112ed15c6507863a7847a43fec1a (patch)
tree5c54b8fe06ba04febb4148f3f55ab4b91015a938 /channels/chan_agent.c
parentb11f89ea3ca1f12b6cc235250b44998fd897e72d (diff)
Fix use count for agent/local (bug #2996)
git-svn-id: http://svn.digium.com/svn/asterisk/branches/v1-0@4457 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_agent.c')
-rwxr-xr-xchannels/chan_agent.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/channels/chan_agent.c b/channels/chan_agent.c
index 6e8c3661a..5d3781017 100755
--- a/channels/chan_agent.c
+++ b/channels/chan_agent.c
@@ -527,6 +527,10 @@ static int agent_hangup(struct ast_channel *ast)
* as in apps/app_chanisavail.c:chanavail_exec()
*/
+ ast_mutex_lock(&usecnt_lock);
+ usecnt--;
+ ast_mutex_unlock(&usecnt_lock);
+
ast_log(LOG_DEBUG, "Hangup called for state %s\n", ast_state2str(ast->_state));
if (p->start && (ast->_state != AST_STATE_UP)) {
howlong = time(NULL) - p->start;