[Fusionforge-commits] FusionForge branch feature/reactivity updated. 78f58b788c55313a20da5bc19fcb8918a218cc6b

Sylvain Beucler beuc-inria at fusionforge.org
Fri Jan 9 18:15:25 CET 2015


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "FusionForge".

The branch, feature/reactivity has been updated
       via  78f58b788c55313a20da5bc19fcb8918a218cc6b (commit)
      from  5df157d3fc147e14c4f2d66b549e67f57b27d363 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 78f58b788c55313a20da5bc19fcb8918a218cc6b
Author: Sylvain Beucler <sylvain.beucler at inria.fr>
Date:   Fri Jan 9 18:15:16 2015 +0100

    reactivity: systasksd now loads newly installed plugins

diff --git a/src/bin/systasksd b/src/bin/systasksd
index 814b4a7..7641b22 100755
--- a/src/bin/systasksd
+++ b/src/bin/systasksd
@@ -45,12 +45,13 @@ function usergroups_sync() {
 
 function systask_get_script($plugin_id, $systask_type_id) {
 		global $cron_arr;
-		global $pm, $plugins;
 		if ($plugin_id == null) {
 				if (isset($cron_arr[$systask_type_id]))
 						return forge_get_config('source_path')
 								.'/cronjobs/'.$cron_arr[$systask_type_id];
 		} else {
+				global $pm;
+				$plugins = $pm->GetPlugins();  // reload in case a new plugin was installed
 				if (isset($plugins[$plugin_id])) {
 						$plugin = $pm->GetPluginObject($plugins[$plugin_id]);
 						if (isset($plugin->systask_types[$systask_type_id]))
@@ -96,7 +97,6 @@ if (!$verbose) {
 
 
 $pm = plugin_manager_get_object();
-$plugins = $pm->GetPlugins();
 
 usergroups_sync();
 while (true) {
diff --git a/src/common/include/PluginManager.class.php b/src/common/include/PluginManager.class.php
index a9074ea..bd2cce1 100644
--- a/src/common/include/PluginManager.class.php
+++ b/src/common/include/PluginManager.class.php
@@ -53,15 +53,13 @@ class PluginManager extends Error {
 	 * @return	array hash of plugin id => plugin names
 	 */
 	function GetPlugins() {
-		if (!isset($this->plugins_data)) {
-			$this->plugins_data = array();
-			$res = db_query_params('SELECT plugin_id, plugin_name FROM plugins',
-					array());
-			$rows = db_numrows($res);
-			for ($i=0; $i<$rows; $i++) {
-				$plugin_id = db_result($res, $i, 'plugin_id');
-				$this->plugins_data[$plugin_id] = db_result($res, $i, 'plugin_name');
-			}
+		$this->plugins_data = array();
+		$res = db_query_params('SELECT plugin_id, plugin_name FROM plugins',
+				array());
+		$rows = db_numrows($res);
+		for ($i=0; $i<$rows; $i++) {
+			$plugin_id = db_result($res, $i, 'plugin_id');
+			$this->plugins_data[$plugin_id] = db_result($res, $i, 'plugin_name');
 		}
 		return $this->plugins_data;
 	}
diff --git a/tests/func/db_reload.sh b/tests/func/db_reload.sh
index 4bf338e..5b218ac 100755
--- a/tests/func/db_reload.sh
+++ b/tests/func/db_reload.sh
@@ -202,5 +202,7 @@ if [ -x /usr/sbin/nscd ]; then
     echo "Flushing/restarting nscd"
     nscd -i passwd && nscd -i group
 fi
-
 echo "nscd flushed, going on with tests"
+
+# We may have changed plugins.plugin_id, need to reload the systasksd
+service fusionforge-systasksd restart

-----------------------------------------------------------------------

Summary of changes:
 src/bin/systasksd                          |    4 ++--
 src/common/include/PluginManager.class.php |   16 +++++++---------
 tests/func/db_reload.sh                    |    4 +++-
 3 files changed, 12 insertions(+), 12 deletions(-)


hooks/post-receive
-- 
FusionForge



More information about the Fusionforge-commits mailing list