diff options
Diffstat (limited to 'src/arch/sharing/manager.c')
-rw-r--r-- | src/arch/sharing/manager.c | 75 |
1 files changed, 1 insertions, 74 deletions
diff --git a/src/arch/sharing/manager.c b/src/arch/sharing/manager.c index 952fc33..3b7cd01 100644 --- a/src/arch/sharing/manager.c +++ b/src/arch/sharing/manager.c @@ -283,7 +283,7 @@ GSharedInstance *g_share_manager_update(GShareManager *manager, GSharedInstance if (container != NULL) replaced = g_share_container_replace(container, old, result); else - replaced = false; + replaced = true; if (replaced) g_share_manager_put(manager, old); @@ -301,79 +301,6 @@ GSharedInstance *g_share_manager_update(GShareManager *manager, GSharedInstance /****************************************************************************** * * -* Paramètres : manager = gestionnaire d'instance à consulter. * -* instance = instance partagée vouée à évoluer. * -* * -* Description : Prépare une modification légère et locale d'un élément. * -* * -* Retour : Indice de l'élément prêt à être modifié. * -* * -* Remarques : - * -* * -******************************************************************************/ - -size_t g_share_manager_prepare_light_update(GShareManager *manager, GSharedInstance *instance) -{ - size_t result; /* Indice courant à retourner */ -#ifndef NDEBUG - bool found; /* Validation de présence */ -#endif - - g_mutex_lock(&manager->access); - -#ifndef NDEBUG - - found = bsearch_index(&instance, manager->instances, manager->count,sizeof(GSharedInstance *), - (__compar_fn_t)g_shared_instance_quickly_compare, &result); - - assert(found); - -#else - - bsearch_index(&instance, manager->instances, manager->count,sizeof(GSharedInstance *), - (__compar_fn_t)g_shared_instance_quickly_compare, &result); - -#endif - - return result; - -} - - -/****************************************************************************** -* * -* Paramètres : manager = gestionnaire d'instance à consulter. * -* instance = instance partagée vouée à évoluer. * -* index = indice de la place de l'élément avant modifcation.* -* * -* Description : Conclut une modification légère et locale d'un élément. * -* * -* Retour : Indice de l'élément prêt à être modifié. * -* * -* Remarques : - * -* * -******************************************************************************/ - -GSharedInstance *g_share_manager_complete_light_update(GShareManager *manager, GSharedInstance *instance, size_t index) -{ - GSharedInstance *result; /* Nouvelle instance à renvoyer*/ - - manager->instances = _qdelete(manager->instances, &manager->count, - sizeof(GSharedInstance *), index); - - g_mutex_unlock(&manager->access); - - result = g_share_manager_get(manager, instance); - - g_object_unref(G_OBJECT(instance)); - - return result; - -} - - -/****************************************************************************** -* * * Paramètres : manager = gestionnaire d'instance à consulter. * * shared = instance partagée à libérer. * * * |