[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