[svn-commits] oej: branch oej/moremanager r204169 - in /team/oej/moremanager: ./ apps/ chan...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jun 29 14:25:33 CDT 2009


Author: oej
Date: Mon Jun 29 14:25:28 2009
New Revision: 204169

URL: http://svn.asterisk.org/svn-view/asterisk?view=rev&rev=204169
Log:
Resolve automerge conflicts

Modified:
    team/oej/moremanager/   (props changed)
    team/oej/moremanager/apps/app_mixmonitor.c
    team/oej/moremanager/apps/app_voicemail.c
    team/oej/moremanager/channels/chan_dahdi.c
    team/oej/moremanager/channels/chan_iax2.c
    team/oej/moremanager/channels/chan_sip.c
    team/oej/moremanager/main/file.c
    team/oej/moremanager/res/res_jabber.c

Propchange: team/oej/moremanager/
------------------------------------------------------------------------------
    automerge = http://www.codename-pineapple.org/

Propchange: team/oej/moremanager/
------------------------------------------------------------------------------
--- svnmerge-integrated (original)
+++ svnmerge-integrated Mon Jun 29 14:25:28 2009
@@ -1,1 +1,1 @@
-/branches/1.4:1-187356
+/branches/1.4:1-204142

Modified: team/oej/moremanager/apps/app_mixmonitor.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/apps/app_mixmonitor.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/apps/app_mixmonitor.c (original)
+++ team/oej/moremanager/apps/app_mixmonitor.c Mon Jun 29 14:25:28 2009
@@ -273,6 +273,8 @@
 					ast_writestream(*fs, cur);
 				}
 			}
+		} else {
+			ast_mutex_unlock(&mixmonitor->mixmonitor_ds->lock);
 		}
 		ast_mutex_unlock(&mixmonitor->mixmonitor_ds->lock);
 

Modified: team/oej/moremanager/apps/app_voicemail.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/apps/app_voicemail.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/apps/app_voicemail.c (original)
+++ team/oej/moremanager/apps/app_voicemail.c Mon Jun 29 14:25:28 2009
@@ -8510,7 +8510,7 @@
 		if ((s = ast_variable_retrieve(cfg, "general", "minmessage"))) {
 			if (sscanf(s, "%d", &x) == 1) {
 				vmminmessage = x;
-				if (maxsilence <= vmminmessage)
+				if (maxsilence / 1000 >= vmminmessage)
 					ast_log(LOG_WARNING, "maxsilence should be less than minmessage or you may get empty messages\n");
 			} else {
 				ast_log(LOG_WARNING, "Invalid min message time length\n");

Modified: team/oej/moremanager/channels/chan_dahdi.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/channels/chan_dahdi.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/channels/chan_dahdi.c (original)
+++ team/oej/moremanager/channels/chan_dahdi.c Mon Jun 29 14:25:28 2009
@@ -2463,15 +2463,12 @@
 			pri_set_crv(p->pri->pri, p->call, p->channel, 0);
 		}
 		p->digital = IS_DIGITAL(ast->transfercapability);
-		/* Add support for exclusive override */
-		if (p->priexclusive)
+
+		/* Should the picked channel be used exclusively? */
+		if (p->priexclusive || p->pri->nodetype == PRI_NETWORK) {
 			exclusive = 1;
-		else {
-		/* otherwise, traditional behavior */
-			if (p->pri->nodetype == PRI_NETWORK)
-				exclusive = 0;
-			else
-				exclusive = 1;
+		} else {
+			exclusive = 0;
 		}
 		
 		pri_sr_set_channel(sr, p->bearer ? PVT_TO_CHANNEL(p->bearer) : PVT_TO_CHANNEL(p), exclusive, 1);
@@ -11996,7 +11993,7 @@
 	}
 	/*< \todo why check for the pseudo in the per-channel section.
 	 * Any actual use for manual setup of the pseudo channel? */
-	if (!found_pseudo && reload == 0) {
+	if (!found_pseudo && reload != 1) {
 		/* use the default configuration for a channel, so
 		   that any settings from real configured channels
 		   don't "leak" into the pseudo channel config

Modified: team/oej/moremanager/channels/chan_iax2.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/channels/chan_iax2.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/channels/chan_iax2.c (original)
+++ team/oej/moremanager/channels/chan_iax2.c Mon Jun 29 14:25:28 2009
@@ -1369,10 +1369,20 @@
 			goto retry;
 		}
 	}
-	if (!owner && iaxs[callno]) {
-		AST_SCHED_DEL_SPINLOCK(sched, iaxs[callno]->lagid, &iaxsl[callno]);
-		AST_SCHED_DEL_SPINLOCK(sched, iaxs[callno]->pingid, &iaxsl[callno]);
-		iaxs[callno] = NULL;
+
+	/* SPINLOCK gives up the pvt lock so the scheduler and iax2_pvt don't deadlock. Since we
+	 * give up the pvt lock, the pvt could be destroyed from underneath us. To guarantee
+	 * the pvt stays around, a ref count is added to it. */
+	if (!owner && pvt) {
+		ao2_ref(pvt, +1);
+		AST_SCHED_DEL_SPINLOCK(sched, pvt->lagid, &iaxsl[pvt->callno]);
+		AST_SCHED_DEL_SPINLOCK(sched, pvt->pingid, &iaxsl[pvt->callno]);
+		ao2_ref(pvt, -1);
+		if (iaxs[callno]) {
+			iaxs[callno] = NULL;
+		} else {
+			pvt = NULL;
+		}
 	}
 
 	if (pvt) {

Modified: team/oej/moremanager/channels/chan_sip.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/channels/chan_sip.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/channels/chan_sip.c (original)
+++ team/oej/moremanager/channels/chan_sip.c Mon Jun 29 14:25:28 2009
@@ -16795,10 +16795,10 @@
 	peer->pokeexpire = -1;
 	if (peer->lastms > -1) {
 		ast_log(LOG_NOTICE, "Peer '%s' is now UNREACHABLE!  Last qualify: %d\n", peer->name, peer->lastms);
-		manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Unreachable\r\nTime: %d\r\n", peer->name, -1);
 		if (ast_test_flag(&global_flags[1], SIP_PAGE2_RTUPDATE)) {
 			ast_update_realtime("sippeers", "name", peer->name, "lastms", "-1", NULL);
 		}
+		manager_event(EVENT_FLAG_SYSTEM, "PeerStatus", "ChannelType: SIP\r\nPeer: SIP/%s\r\nPeerStatus: Unreachable\r\nTime: %d\r\n", peer->name, -1);
 	}
 	if (peer->call)
 		sip_destroy(peer->call);

Modified: team/oej/moremanager/main/file.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/main/file.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/main/file.c (original)
+++ team/oej/moremanager/main/file.c Mon Jun 29 14:25:28 2009
@@ -1236,7 +1236,14 @@
 				} else {
 					res = fr->subclass;
 					if (strchr(forward,res)) {
+						int eoftest;
 						ast_stream_fastforward(c->stream, skip_ms);
+						eoftest = fgetc(c->stream->f);
+						if (feof(c->stream->f)) {
+							ast_stream_rewind(c->stream, skip_ms);
+						} else {
+							ungetc(eoftest, c->stream->f);
+						}
 					} else if (strchr(rewind,res)) {
 						ast_stream_rewind(c->stream, skip_ms);
 					} else if (strchr(breakon, res)) {

Modified: team/oej/moremanager/res/res_jabber.c
URL: http://svn.asterisk.org/svn-view/asterisk/team/oej/moremanager/res/res_jabber.c?view=diff&rev=204169&r1=204168&r2=204169
==============================================================================
--- team/oej/moremanager/res/res_jabber.c (original)
+++ team/oej/moremanager/res/res_jabber.c Mon Jun 29 14:25:28 2009
@@ -2423,8 +2423,8 @@
 		astman_send_error(s, m, "Could not find Sender");
 		return 0;
 	}	
-	if (strchr(screenname, '@') && message){
-		ast_aji_send(client, screenname, message);	
+	if (strchr(screenname, '@') && message) {
+		ast_aji_send(client, screenname, message);
 		astman_append(s, "Response: Success\r\n");
 	} else {
 		astman_append(s, "Response: Error\r\n");




More information about the svn-commits mailing list