[svn-commits] tilghman: branch 1.6.2 r268732 - in /branches/1.6.2: ./ main/ res/

SVN commits to the Digium repositories svn-commits at lists.digium.com
Mon Jun 7 14:00:42 CDT 2010


Author: tilghman
Date: Mon Jun  7 14:00:37 2010
New Revision: 268732

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=268732
Log:
Merged revisions 268653,268731 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/trunk

........
  r268653 | tilghman | 2010-06-07 12:14:40 -0500 (Mon, 07 Jun 2010) | 2 lines
  
  Avoid unloading res_smdi twice.
........
  r268731 | tilghman | 2010-06-07 13:59:27 -0500 (Mon, 07 Jun 2010) | 4 lines
  
  Event well was going dry.
  
  (issue #17234)
........

Modified:
    branches/1.6.2/   (props changed)
    branches/1.6.2/main/manager.c
    branches/1.6.2/res/res_smdi.c

Propchange: branches/1.6.2/
------------------------------------------------------------------------------
Binary property 'trunk-merged' - no diff available.

Modified: branches/1.6.2/main/manager.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/main/manager.c?view=diff&rev=268732&r1=268731&r2=268732
==============================================================================
--- branches/1.6.2/main/manager.c (original)
+++ branches/1.6.2/main/manager.c Mon Jun  7 14:00:37 2010
@@ -360,6 +360,11 @@
 	}
 
 	AST_RWLIST_TRAVERSE_SAFE_BEGIN(&all_events, ev, eq_next) {
+		/* Never release the last event */
+		if (!AST_RWLIST_NEXT(ev, eq_next)) {
+			break;
+		}
+
 		/* 2.5 times whatever the HTTP timeout is (maximum 2.5 hours) is the maximum time that we will definitely cache an event */
 		if (ev->usecount == 0 && ast_tvdiff_sec(now, ev->tv) > (httptimeout > 3600 ? 3600 : httptimeout) * 2.5) {
 			AST_RWLIST_REMOVE_CURRENT(eq_next);

Modified: branches/1.6.2/res/res_smdi.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.6.2/res/res_smdi.c?view=diff&rev=268732&r1=268731&r2=268732
==============================================================================
--- branches/1.6.2/res/res_smdi.c (original)
+++ branches/1.6.2/res/res_smdi.c Mon Jun  7 14:00:37 2010
@@ -58,6 +58,7 @@
 #define SMDI_MSG_EXPIRY_TIME	30000 /* 30 seconds */
 
 static const char config_file[] = "smdi.conf";
+static int smdi_loaded;
 
 /*! \brief SMDI message desk message queue. */
 struct ast_smdi_md_queue {
@@ -1340,6 +1341,7 @@
 static int load_module(void)
 {
 	int res;
+	smdi_loaded = 1;
 
 	/* initialize our containers */
 	memset(&smdi_ifaces, 0, sizeof(smdi_ifaces));
@@ -1367,6 +1369,10 @@
 
 static int _unload_module(int fromload)
 {
+	if (!smdi_loaded) {
+		return 0;
+	}
+
 	/* this destructor stops any running smdi_read threads */
 	ASTOBJ_CONTAINER_DESTROYALL(&smdi_ifaces, ast_smdi_interface_destroy);
 	ASTOBJ_CONTAINER_DESTROY(&smdi_ifaces);
@@ -1387,6 +1393,7 @@
 		ast_custom_function_unregister(&smdi_msg_function);
 	}
 
+	smdi_loaded = 0;
 	return 0;
 }
 




More information about the svn-commits mailing list