fixed pipe consuming bug when using chanIsAvail (#7878), also moved a debug log to the very begining of misdn_hangup.

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@42110 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.2
Christian Richter 19 years ago
parent e627ecb8a7
commit 8be5b66038

@ -1952,9 +1952,9 @@ static int misdn_hangup(struct ast_channel *ast)
struct chan_list *p;
struct misdn_bchannel *bc=NULL;
if (!ast || ! (p=MISDN_ASTERISK_TECH_PVT(ast) ) ) return -1;
ast_log(LOG_DEBUG, "misdn_hangup(%s)\n", ast->name);
if (!ast || ! (p=MISDN_ASTERISK_TECH_PVT(ast) ) ) return -1;
if (!p) {
chan_misdn_log(3, 0, "misdn_hangup called, without chan_list obj.\n");
@ -1976,11 +1976,15 @@ static int misdn_hangup(struct ast_channel *ast)
if (ast->_state == AST_STATE_RESERVED) {
/* between request and call */
ast_log(LOG_DEBUG, "State Reserved => chanIsAvail\n");
MISDN_ASTERISK_TECH_PVT(ast)=NULL;
cl_dequeue_chan(&cl_te, p);
free(p);
close(p->pipe[0]);
close(p->pipe[1]);
free(p);
if (bc)
misdn_lib_release(bc);

Loading…
Cancel
Save