From f12928f700174890538a21e7d0d6a02ecdb38f57 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Thu, 11 Mar 2004 18:00:08 +0000 Subject: [PATCH] Make sure no path leaves channel lock locked git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2399 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- channels/chan_zap.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/channels/chan_zap.c b/channels/chan_zap.c index 1071e225ca..b8173e517f 100755 --- a/channels/chan_zap.c +++ b/channels/chan_zap.c @@ -3463,8 +3463,10 @@ struct ast_frame *zt_read(struct ast_channel *ast) ZT_PARAMS ps; ps.channo = p->channel; - if (ioctl(p->subs[SUB_REAL].zfd, ZT_GET_PARAMS, &ps) < 0) + if (ioctl(p->subs[SUB_REAL].zfd, ZT_GET_PARAMS, &ps) < 0) { + ast_mutex_unlock(&p->lock); return NULL; + } p->firstradio = 1; p->subs[index].f.frametype = AST_FRAME_CONTROL; if (ps.rxisoffhook) @@ -3580,6 +3582,7 @@ struct ast_frame *zt_read(struct ast_channel *ast) c = tdd_feed(p->tdd,readbuf,READ_SIZE); if (c < 0) { ast_log(LOG_DEBUG,"tdd_feed failed\n"); + ast_mutex_unlock(&p->lock); return NULL; } if (c) { /* if a char to return */