[asterisk-commits] trunk r26531 - in /trunk/channels: chan_sip.c chan_zap.c

asterisk-commits at lists.digium.com asterisk-commits at lists.digium.com
Wed May 10 08:41:24 MST 2006


Author: russell
Date: Wed May 10 10:41:23 2006
New Revision: 26531

URL: http://svn.digium.com/view/asterisk?rev=26531&view=rev
Log:
remove some chekc sof the result of ast_mutex_lock (issue #7119, Mithraen)

Modified:
    trunk/channels/chan_sip.c
    trunk/channels/chan_zap.c

Modified: trunk/channels/chan_sip.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_sip.c?rev=26531&r1=26530&r2=26531&view=diff
==============================================================================
--- trunk/channels/chan_sip.c (original)
+++ trunk/channels/chan_sip.c Wed May 10 10:41:23 2006
@@ -12153,10 +12153,7 @@
 	/* If we're supposed to be stopped -- stay stopped */
 	if (monitor_thread == AST_PTHREADT_STOP)
 		return 0;
-	if (ast_mutex_lock(&monlock)) {
-		ast_log(LOG_WARNING, "Unable to lock monitor\n");
-		return -1;
-	}
+	ast_mutex_lock(&monlock);
 	if (monitor_thread == pthread_self()) {
 		ast_mutex_unlock(&monlock);
 		ast_log(LOG_WARNING, "Cannot kill myself\n");
@@ -13994,51 +13991,39 @@
 	ast_manager_unregister("SIPpeers");
 	ast_manager_unregister("SIPshowpeer");
 
-	if (!ast_mutex_lock(&iflock)) {
-		/* Hangup all interfaces if they have an owner */
-		for (p = iflist; p ; p = p->next) {
-			if (p->owner)
-				ast_softhangup(p->owner, AST_SOFTHANGUP_APPUNLOAD);
-		}
-		ast_mutex_unlock(&iflock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the interface list\n");
-		return -1;
-	}
-
-	if (!ast_mutex_lock(&monlock)) {
-		if (monitor_thread && (monitor_thread != AST_PTHREADT_STOP)) {
-			pthread_cancel(monitor_thread);
-			pthread_kill(monitor_thread, SIGURG);
-			pthread_join(monitor_thread, NULL);
-		}
-		monitor_thread = AST_PTHREADT_STOP;
-		ast_mutex_unlock(&monlock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the monitor\n");
-		return -1;
-	}
-
-	if (!ast_mutex_lock(&iflock)) {
-		/* Destroy all the interfaces and free their memory */
-		p = iflist;
-		while (p) {
-			pl = p;
-			p = p->next;
-			/* Free associated memory */
-			ast_mutex_destroy(&pl->lock);
-			if (pl->chanvars) {
-				ast_variables_destroy(pl->chanvars);
-				pl->chanvars = NULL;
-			}
-			free(pl);
-		}
-		iflist = NULL;
-		ast_mutex_unlock(&iflock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the interface list\n");
-		return -1;
-	}
+	ast_mutex_lock(&iflock);
+	/* Hangup all interfaces if they have an owner */
+	for (p = iflist; p ; p = p->next) {
+		if (p->owner)
+			ast_softhangup(p->owner, AST_SOFTHANGUP_APPUNLOAD);
+	}
+	ast_mutex_unlock(&iflock);
+
+	ast_mutex_lock(&monlock);
+	if (monitor_thread && (monitor_thread != AST_PTHREADT_STOP)) {
+		pthread_cancel(monitor_thread);
+		pthread_kill(monitor_thread, SIGURG);
+		pthread_join(monitor_thread, NULL);
+	}
+	monitor_thread = AST_PTHREADT_STOP;
+	ast_mutex_unlock(&monlock);
+
+	ast_mutex_lock(&iflock);
+	/* Destroy all the interfaces and free their memory */
+	p = iflist;
+	while (p) {
+		pl = p;
+		p = p->next;
+		/* Free associated memory */
+		ast_mutex_destroy(&pl->lock);
+		if (pl->chanvars) {
+			ast_variables_destroy(pl->chanvars);
+			pl->chanvars = NULL;
+		}
+		free(pl);
+	}
+	iflist = NULL;
+	ast_mutex_unlock(&iflock);
 
 	/* Free memory for local network address mask */
 	ast_free_ha(localaddr);

Modified: trunk/channels/chan_zap.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_zap.c?rev=26531&r1=26530&r2=26531&view=diff
==============================================================================
--- trunk/channels/chan_zap.c (original)
+++ trunk/channels/chan_zap.c Wed May 10 10:41:23 2006
@@ -6539,10 +6539,7 @@
 #endif
 	for(;;) {
 		/* Lock the interface list */
-		if (ast_mutex_lock(&iflock)) {
-			ast_log(LOG_ERROR, "Unable to grab interface lock\n");
-			return NULL;
-		}
+		ast_mutex_lock(&iflock);
 		if (!pfds || (lastalloc != ifcount)) {
 			if (pfds)
 				free(pfds);
@@ -6588,10 +6585,7 @@
 		}
 		/* Alright, lock the interface list again, and let's look and see what has
 		   happened */
-		if (ast_mutex_lock(&iflock)) {
-			ast_log(LOG_WARNING, "Unable to lock the interface list\n");
-			continue;
-		}
+		ast_mutex_lock(&iflock);
 		found = 0;
 		spoint = 0;
 		lastpass = thispass;
@@ -6731,10 +6725,7 @@
 	/* If we're supposed to be stopped -- stay stopped */
 	if (monitor_thread == AST_PTHREADT_STOP)
 		return 0;
-	if (ast_mutex_lock(&monlock)) {
-		ast_log(LOG_WARNING, "Unable to lock monitor\n");
-		return -1;
-	}
+	ast_mutex_lock(&monlock);
 	if (monitor_thread == pthread_self()) {
 		ast_mutex_unlock(&monlock);
 		ast_log(LOG_WARNING, "Cannot kill myself\n");
@@ -7609,10 +7600,7 @@
 		}
 	}
 	/* Search for an unowned channel */
-	if (ast_mutex_lock(lock)) {
-		ast_log(LOG_ERROR, "Unable to lock interface list???\n");
-		return NULL;
-	}
+	ast_mutex_lock(lock);
 	exit = p;
 	while(p && !tmp) {
 		if (roundrobin)
@@ -10103,57 +10091,45 @@
 	ast_manager_unregister( "ZapDNDon" );
 	ast_manager_unregister("ZapShowChannels");
 	ast_channel_unregister(&zap_tech);
-	if (!ast_mutex_lock(&iflock)) {
-		/* Hangup all interfaces if they have an owner */
-		p = iflist;
-		while(p) {
-			if (p->owner)
-				ast_softhangup(p->owner, AST_SOFTHANGUP_APPUNLOAD);
-			p = p->next;
-		}
-		ast_mutex_unlock(&iflock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the monitor\n");
-		return -1;
-	}
-	if (!ast_mutex_lock(&monlock)) {
-		if (monitor_thread && (monitor_thread != AST_PTHREADT_STOP) && (monitor_thread != AST_PTHREADT_NULL)) {
-			pthread_cancel(monitor_thread);
-			pthread_kill(monitor_thread, SIGURG);
-			pthread_join(monitor_thread, NULL);
-		}
-		monitor_thread = AST_PTHREADT_STOP;
-		ast_mutex_unlock(&monlock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the monitor\n");
-		return -1;
-	}
-
-	if (!ast_mutex_lock(&iflock)) {
-		/* Destroy all the interfaces and free their memory */
-		p = iflist;
-		while(p) {
-			/* Free any callerid */
-			if (p->cidspill)
-				free(p->cidspill);
-			/* Close the zapata thingy */
-			if (p->subs[SUB_REAL].zfd > -1)
-				zt_close(p->subs[SUB_REAL].zfd);
-			pl = p;
-			p = p->next;
-			x++;
-			/* Free associated memory */
-			if(pl)
-				destroy_zt_pvt(&pl);
-			ast_verbose(VERBOSE_PREFIX_3 "Unregistered channel %d\n", x);
-		}
-		iflist = NULL;
-		ifcount = 0;
-		ast_mutex_unlock(&iflock);
-	} else {
-		ast_log(LOG_WARNING, "Unable to lock the monitor\n");
-		return -1;
-	}
+	ast_mutex_lock(&iflock);
+	/* Hangup all interfaces if they have an owner */
+	p = iflist;
+	while(p) {
+		if (p->owner)
+			ast_softhangup(p->owner, AST_SOFTHANGUP_APPUNLOAD);
+		p = p->next;
+	}
+	ast_mutex_unlock(&iflock);
+	ast_mutex_lock(&monlock);
+	if (monitor_thread && (monitor_thread != AST_PTHREADT_STOP) && (monitor_thread != AST_PTHREADT_NULL)) {
+		pthread_cancel(monitor_thread);
+		pthread_kill(monitor_thread, SIGURG);
+		pthread_join(monitor_thread, NULL);
+	}
+	monitor_thread = AST_PTHREADT_STOP;
+	ast_mutex_unlock(&monlock);
+
+	ast_mutex_lock(&iflock);
+	/* Destroy all the interfaces and free their memory */
+	p = iflist;
+	while(p) {
+		/* Free any callerid */
+		if (p->cidspill)
+			free(p->cidspill);
+		/* Close the zapata thingy */
+		if (p->subs[SUB_REAL].zfd > -1)
+			zt_close(p->subs[SUB_REAL].zfd);
+		pl = p;
+		p = p->next;
+		x++;
+		/* Free associated memory */
+		if(pl)
+			destroy_zt_pvt(&pl);
+		ast_verbose(VERBOSE_PREFIX_3 "Unregistered channel %d\n", x);
+	}
+	iflist = NULL;
+	ifcount = 0;
+	ast_mutex_unlock(&iflock);
 #ifdef HAVE_LIBPRI		
 	for(i=0;i<NUM_SPANS;i++) {
 		if (pris[i].master && (pris[i].master != AST_PTHREADT_NULL))
@@ -10204,11 +10180,8 @@
 	}
 	
 
-	if (ast_mutex_lock(&iflock)) {
-		/* It's a little silly to lock it, but we mind as well just to be sure */
-		ast_log(LOG_ERROR, "Unable to lock interface list???\n");
-		return -1;
-	}
+	/* It's a little silly to lock it, but we mind as well just to be sure */
+	ast_mutex_lock(&iflock);
 #ifdef HAVE_LIBPRI
 	if (!reload) {
 		/* Process trunkgroups first */



More information about the asterisk-commits mailing list