[asterisk-commits] qwell: trunk r81524 - in /trunk: ./ channels/chan_phone.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Sep 5 10:16:50 CDT 2007


Author: qwell
Date: Wed Sep  5 10:16:50 2007
New Revision: 81524

URL: http://svn.digium.com/view/asterisk?view=rev&rev=81524
Log:
Merged revisions 81523 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #10651)
........
r81523 | qwell | 2007-09-05 10:14:30 -0500 (Wed, 05 Sep 2007) | 5 lines

Do not try to unregister a NULL channel tech.
Also changed load_module function to use defines rather than numbers for return values.

Issue 10651, patch by rbraun_proformatique, with additions by me.

........

Modified:
    trunk/   (props changed)
    trunk/channels/chan_phone.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-1.4-merged' - no diff available.

Modified: trunk/channels/chan_phone.c
URL: http://svn.digium.com/view/asterisk/trunk/channels/chan_phone.c?view=diff&rev=81524&r1=81523&r2=81524
==============================================================================
--- trunk/channels/chan_phone.c (original)
+++ trunk/channels/chan_phone.c Wed Sep  5 10:16:50 2007
@@ -1284,7 +1284,8 @@
 {
 	struct phone_pvt *p, *pl;
 	/* First, take us out of the channel loop */
-	ast_channel_unregister(cur_tech);
+	if (cur_tech)
+		ast_channel_unregister(cur_tech);
 	if (!ast_mutex_lock(&iflock)) {
 		/* Hangup all interfaces if they have an owner */
 		p = iflist;
@@ -1359,7 +1360,7 @@
 	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;
+		return AST_MODULE_LOAD_FAILURE;
 	}
 	v = ast_variable_browse(cfg, "interfaces");
 	while(v) {
@@ -1375,7 +1376,7 @@
 					ast_config_destroy(cfg);
 					ast_mutex_unlock(&iflock);
 					__unload_module();
-					return -1;
+					return AST_MODULE_LOAD_FAILURE;
 				}
 		} else if (!strcasecmp(v->name, "silencesupression")) {
 			silencesupression = ast_true(v->value);
@@ -1445,12 +1446,12 @@
 		ast_log(LOG_ERROR, "Unable to register channel class 'Phone'\n");
 		ast_config_destroy(cfg);
 		__unload_module();
-		return -1;
+		return AST_MODULE_LOAD_FAILURE;
 	}
 	ast_config_destroy(cfg);
 	/* And start the monitor for the first time */
 	restart_monitor();
-	return 0;
+	return AST_MODULE_LOAD_SUCCESS;
 }
 
 AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Linux Telephony API Support");




More information about the asterisk-commits mailing list