* Accounts: do not accept digits-only user and group names, to avoid confusion with UID/GID in system commands (Inria)
* MTA-Exim4: restart exim4 on install
* Plugin SCM: improve user matching when computing stats (Inria)
+* Plugin SCM: fix another race condition when creating project with SCM selected (Inria)
* Plugin scmhook: fix non-editable mailing list name in some configurations (Inria)
* Plugin MediaWiki: fix permission error when upgrading suspended projects database (Inria & TrivialDev)
* Plugin Projects Hierarchy: don't display a project as possible child if there's no read access to it (Inria)
if (!$res && !db_connection_status())
db_reconnect();
while ($arr = db_fetch_array($res)) {
- usergroups_sync();
$script = systask_get_script($arr['plugin_id'], $arr['systask_type']);
if (!file_exists($script))
// Not installed on this node, skipping
$arr['systask_id']));
continue;
}
+
+ // Concurrency: ensure groups are activated in the system before starting task
if (!empty($arr['group_id']) && !is_group_active_nocache($arr['group_id'])) {
continue; // wait until project is approved
}
+ usergroups_sync();
+
db_query_params("UPDATE systasks SET status=$1, started=now() WHERE systask_id=$2",
array('WIP', $arr['systask_id']));
cron_acquire_lock($script);