diff options
Diffstat (limited to 'src/plugins/pglist.c')
-rw-r--r-- | src/plugins/pglist.c | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/src/plugins/pglist.c b/src/plugins/pglist.c index 2010cda..1f608b4 100644 --- a/src/plugins/pglist.c +++ b/src/plugins/pglist.c @@ -58,7 +58,7 @@ static void browse_directory_for_plugins(const char *); /****************************************************************************** * * -* Paramètres : - * +* Paramètres : load = procéde à un chargement dans la foulée ? * * * * Description : Procède au chargement des différents greffons trouvés. * * * @@ -68,13 +68,14 @@ static void browse_directory_for_plugins(const char *); * * ******************************************************************************/ -bool init_all_plugins(void) +bool init_all_plugins(bool load) { g_rw_lock_init(&_pg_lock); browse_directory_for_plugins(PACKAGE_SOURCE_DIR "/plugins"); - load_remaning_plugins(); + if (load) + load_remaning_plugins(); return true; @@ -113,6 +114,28 @@ void exit_all_plugins(void) /****************************************************************************** * * +* Paramètres : lock = type d'action à mener. * +* * +* Description : Verrouille ou déverrouille l'accès en lecture à la liste. * +* * +* Retour : - * +* * +* Remarques : - * +* * +******************************************************************************/ + +void _lock_unlock_plugin_list_for_reading(bool lock) +{ + if (lock) + g_rw_lock_reader_lock(&_pg_lock); + else + g_rw_lock_reader_unlock(&_pg_lock); + +} + + +/****************************************************************************** +* * * Paramètres : entry = entrée de répertoire à analyser. * * * * Description : Filtre les répertoire et les modules de greffons pootentels. * |