Index: channel.c =================================================================== RCS file: /usr/cvsroot/asterisk/channel.c,v retrieving revision 1.235 diff -u -u -r1.235 channel.c --- channel.c 30 Aug 2005 02:12:09 -0000 1.235 +++ channel.c 30 Aug 2005 07:19:01 -0000 @@ -1022,14 +1022,15 @@ if (!ast_test_flag(chan, AST_FLAG_ZOMBIE)) { if (option_debug) ast_log(LOG_DEBUG, "Hanging up channel '%s'\n", chan->name); + ast_mutex_unlock(&chan->lock); if (chan->tech->hangup) res = chan->tech->hangup(chan); } else { if (option_debug) ast_log(LOG_DEBUG, "Hanging up zombie '%s'\n", chan->name); + ast_mutex_unlock(&chan->lock); } - ast_mutex_unlock(&chan->lock); manager_event(EVENT_FLAG_CALL, "Hangup", "Channel: %s\r\n" "Uniqueid: %s\r\n"