summaryrefslogtreecommitdiff
path: root/src/plugins/pglist.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/pglist.c')
-rw-r--r--src/plugins/pglist.c29
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. *