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
1.4
Joshua Colp 18 years ago
parent a17edf7d99
commit 4ac8f69d0a

@ -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 */

Loading…
Cancel
Save