]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
automerge commit
authorAutomerge script <automerge@asterisk.org>
Wed, 6 Sep 2006 18:03:25 +0000 (18:03 +0000)
committerAutomerge script <automerge@asterisk.org>
Wed, 6 Sep 2006 18:03:25 +0000 (18:03 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2-netsec@42132 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_misdn.c

index c6dc759208136552c8ac5ee30b08894aa7de6bd0..69aad49c1c45c94736453ad5062e4ef230fac179 100644 (file)
@@ -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);