Load features after each plugin loaded until all plugins have feature support
This commit is contained in:
@@ -471,10 +471,9 @@ METHOD(plugin_loader_t, load_plugins, bool,
|
|||||||
DBG1(DBG_LIB, "loading critical plugin '%s' failed", token);
|
DBG1(DBG_LIB, "loading critical plugin '%s' failed", token);
|
||||||
}
|
}
|
||||||
free(token);
|
free(token);
|
||||||
}
|
/* TODO: we currently load features after each plugin is loaded. This
|
||||||
enumerator->destroy(enumerator);
|
* will not be necessary once we have features support in all plugins.
|
||||||
if (!critical_failed)
|
*/
|
||||||
{
|
|
||||||
while (load_features(this, TRUE, FALSE))
|
while (load_features(this, TRUE, FALSE))
|
||||||
{
|
{
|
||||||
/* try load new features until we don't get new ones */
|
/* try load new features until we don't get new ones */
|
||||||
@@ -483,6 +482,10 @@ METHOD(plugin_loader_t, load_plugins, bool,
|
|||||||
{
|
{
|
||||||
/* second round, ignoring soft dependencies */
|
/* second round, ignoring soft dependencies */
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
enumerator->destroy(enumerator);
|
||||||
|
if (!critical_failed)
|
||||||
|
{
|
||||||
/* report missing dependencies */
|
/* report missing dependencies */
|
||||||
load_features(this, FALSE, TRUE);
|
load_features(this, FALSE, TRUE);
|
||||||
/* unload plugins that we were not able to load any features for */
|
/* unload plugins that we were not able to load any features for */
|
||||||
|
|||||||
Reference in New Issue
Block a user