diff options
author | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-06 17:10:41 +0000 |
---|---|---|
committer | crichter <crichter@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-09-06 17:10:41 +0000 |
commit | 47e7ce9010259b247568fcd1fdeb5d31fe6d4a08 (patch) | |
tree | 0b4ffec75a311791a8aaa6c6d5f0168c68749e37 /channels/chan_misdn.c | |
parent | 07159589a04a28f3622ce45fe9639a8e83b8c49c (diff) |
fixed pipe consuming bug when using chanIsAvail (#7878), also moved a debug log to the very begining of misdn_hangup.
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.2@42110 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_misdn.c')
-rw-r--r-- | channels/chan_misdn.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/channels/chan_misdn.c b/channels/chan_misdn.c index c6dc75920..69aad49c1 100644 --- a/channels/chan_misdn.c +++ b/channels/chan_misdn.c @@ -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); |