[Asterisk-cvs] asterisk/channels chan_agent.c,1.134,1.135

markster at lists.digium.com markster at lists.digium.com
Thu May 26 16:20:55 CDT 2005


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

Modified Files:
	chan_agent.c 
Log Message:
Fix agent deadlock and remove braindead tags dependency


Index: chan_agent.c
===================================================================
RCS file: /usr/cvsroot/asterisk/channels/chan_agent.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -d -r1.134 -r1.135
--- chan_agent.c	15 May 2005 02:48:16 -0000	1.134
+++ chan_agent.c	26 May 2005 20:24:56 -0000	1.135
@@ -705,14 +705,12 @@
 				snprintf(agent, sizeof(agent), "Agent/%s", p->agent);
 				ast_queue_log("NONE", ast->uniqueid, agent, "AGENTCALLBACKLOGOFF", "%s|%ld|%s", p->loginchan, logintime, "Autologoff");
 				p->loginchan[0] = '\0';
-			    ast_device_state_changed("Agent/%s", p->agent);
 			}
 		} else if (p->dead) {
 			ast_mutex_lock(&p->chan->lock);
 			ast_softhangup(p->chan, AST_SOFTHANGUP_EXPLICIT);
 			ast_mutex_unlock(&p->chan->lock);
 		} else {
-			ast_device_state_changed("Agent/%s", p->agent);
 			ast_mutex_lock(&p->chan->lock);
 			ast_moh_start(p->chan, p->moh);
 			ast_mutex_unlock(&p->chan->lock);
@@ -734,6 +732,7 @@
 	}
 #endif	
 	ast_mutex_unlock(&p->lock);
+	ast_device_state_changed("Agent/%s", p->agent);
 
 	if (p->pending) {
 		ast_mutex_lock(&agentlock);




More information about the svn-commits mailing list