[Asterisk-cvs] asterisk/channels chan_zap.c,1.187,1.188

markster at lists.digium.com markster at lists.digium.com
Thu Mar 11 13:07:04 CST 2004


Update of /usr/cvsroot/asterisk/channels
In directory mongoose.digium.com:/tmp/cvs-serv29774/channels

Modified Files:
	chan_zap.c 
Log Message:
Make sure no path leaves channel lock locked


Index: chan_zap.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_zap.c,v
retrieving revision 1.187
retrieving revision 1.188
diff -u -d -r1.187 -r1.188
--- chan_zap.c	11 Mar 2004 05:10:23 -0000	1.187
+++ chan_zap.c	11 Mar 2004 18:00:08 -0000	1.188
@@ -3463,8 +3463,10 @@
 		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 @@
 		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 */




More information about the svn-commits mailing list