Revision
14491
Author
mrene
Date
2009-08-11 11:03:31 -0500 (Tue, 11 Aug 2009)

Log Message

Prevent unloading of embedded languages modules (also fixes MODLANG-121)

Modified Paths

Diff

Modified: freeswitch/trunk/src/mod/languages/mod_java/modjava.c (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_java/modjava.c	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_java/modjava.c	2009-08-11 16:03:31 UTC (rev 14491)
@@ -261,7 +261,8 @@
     }
     else
         switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error creating memory pool\n");
-    return status;
+
+    return status == SWITCH_STATUS_SUCCESS ? SWITCH_STATUS_NOUNLOAD : status;
 }
 
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_java_shutdown)

Modified: freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_lua/mod_lua.cpp	2009-08-11 16:03:31 UTC (rev 14491)
@@ -462,7 +462,7 @@
 	do_config();
 
 	/* indicate that the module should continue to be loaded */
-	return SWITCH_STATUS_SUCCESS;
+	return SWITCH_STATUS_NOUNLOAD;
 }
 
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_lua_shutdown)

Modified: freeswitch/trunk/src/mod/languages/mod_managed/mod_managed.cpp (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_managed/mod_managed.cpp	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_managed/mod_managed.cpp	2009-08-11 16:03:31 UTC (rev 14491)
@@ -363,7 +363,7 @@
 	SWITCH_ADD_API(api_interface, "managed", "Run a module as an API function (Execute)", managed_api_function, "<module> [<args>]");
 	SWITCH_ADD_APP(app_interface, "managed", "Run CLI App", "Run an App on a channel", managed_app_function, "<modulename> [<args>]", SAF_NONE);
 	SWITCH_ADD_API(api_interface, "managedreload", "Force [re]load of a file", managedreload_api_function, "<filename>");
-	return SWITCH_STATUS_SUCCESS;
+	return SWITCH_STATUS_NOUNLOAD;
 }
 
 #ifdef _MANAGED

Modified: freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_perl/mod_perl.c	2009-08-11 16:03:31 UTC (rev 14491)
@@ -493,7 +493,7 @@
 
 	do_config();
 
-	return SWITCH_STATUS_SUCCESS;
+	return SWITCH_STATUS_NOUNLOAD;
 }
 
 /* For Emacs:

Modified: freeswitch/trunk/src/mod/languages/mod_python/mod_python.c (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_python/mod_python.c	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_python/mod_python.c	2009-08-11 16:03:31 UTC (rev 14491)
@@ -426,7 +426,7 @@
 				   SAF_SUPPORT_NOMEDIA);
 
 	/* indicate that the module should continue to be loaded */
-	return SWITCH_STATUS_SUCCESS;
+	return SWITCH_STATUS_NOUNLOAD;
 }
 
 /*

Modified: freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c (14490 => 14491)


--- freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c	2009-08-11 15:21:21 UTC (rev 14490)
+++ freeswitch/trunk/src/mod/languages/mod_spidermonkey/mod_spidermonkey.c	2009-08-11 16:03:31 UTC (rev 14491)
@@ -3751,7 +3751,7 @@
 	curl_global_init(CURL_GLOBAL_ALL);
 
 	/* indicate that the module should continue to be loaded */
-	return SWITCH_STATUS_SUCCESS;
+	return SWITCH_STATUS_NOUNLOAD;
 }
 
 SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_spidermonkey_shutdown)