From 4ac8f69d0ad0f6a6df4325b88ddc8a334f4ecbdb Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Mon, 26 Nov 2007 18:02:56 +0000 Subject: [PATCH] Add module counting removal for error conditions. (closes issue #11333) Reported by: Laureano Patches: res_features_v2.c.patch uploaded by Laureano (license 265) git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@89599 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_features.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/res/res_features.c b/res/res_features.c index 5fad42967c..ad096a5ae8 100644 --- a/res/res_features.c +++ b/res/res_features.c @@ -1921,6 +1921,7 @@ static int park_exec(struct ast_channel *chan, void *data) if (error) { ast_log(LOG_WARNING, "Failed to play courtesy tone!\n"); ast_hangup(peer); + ast_module_user_remove(u); return -1; } } else @@ -1930,6 +1931,7 @@ static int park_exec(struct ast_channel *chan, void *data) if (res < 0) { ast_log(LOG_WARNING, "Could not make channels %s and %s compatible for bridge\n", chan->name, peer->name); ast_hangup(peer); + ast_module_user_remove(u); return -1; } /* This runs sorta backwards, since we give the incoming channel control, as if it @@ -1950,6 +1952,7 @@ static int park_exec(struct ast_channel *chan, void *data) /* Simulate the PBX hanging up */ if (res != AST_PBX_NO_HANGUP_PEER) ast_hangup(peer); + ast_module_user_remove(u); return res; } else { /*! \todo XXX Play a message XXX */