NOM¶
malloc_get_state, malloc_set_state - Sauvegarder et restaurer l'état de
l'implémentation de malloc
SYNOPSIS¶
#include <stdlib.h>
void* malloc_get_state(void);
int malloc_set_state(void *state);
DESCRIPTION¶
La fonction
malloc_get_state() sauvegarde l'état actuel de toutes
les variables servant à la gestion interne de
malloc(3) (mais
pas le contenu du tas ou l'état des pointeurs de fonctions
malloc_hook(3)). L'état est enregistré dans une structure
de données opaque dépendant du système, allouée
dynamiquement par
malloc(3), et un pointeur vers cette structure de
données est renvoyé comme valeur de résultat de la
fonction (il est de la responsabilité de celui qui appelle cette
fonction de libérer avec
free(3) cette zone mémoire).
La fonction
malloc_set_state() restaure l'état de toutes les
variables servant à la gestion interne de
malloc(3) en recopiant
celles se trouvant dans la structure de données opaque pointée
par
state.
VALEUR RENVOYÉE¶
En cas de succès,
malloc_get_state() renvoie un pointeur vers une
structure de données opaque nouvellement créée. En cas
d'erreur (par exemple quand la zone mémoire pour la structure de
données n'a pu être allouée), il renvoie NULL.
En cas de succès,
malloc_set_state() renvoie 0. Si
l'implémentation détecte que
state ne pointe pas vers une
structure de données ayant une forme valide,
malloc_set_state()
renvoie -1. Si l'implémentation détecte que la version de la
structure de données référencée par
state
est une version plus récente que celle connue par
l'implémentation,
malloc_set_state() renvoie -2.
Ces fonctions sont des extensions GNU.
NOTES¶
Ces fonctions sont particulièrement utiles lorsque cette
implémentation de
malloc(3) fait partie d'une
bibliothèque dynamique, et quand le contenu du tas est
sauvegardé et restauré par un autre mécanisme. Cette
technique est utilisée par GNU Emacs pour implémenter sa
fonction « dumping ».
Les pointeurs de fonction crochet ne sont jamais sauvegardés ou
restaurés par ces fonctions, avec deux exceptions : si la
vérification de malloc (voir
mallopt(3)) était active
lorsque
malloc_get_state() a été appelée, alors
malloc_set_state() réinitialise si possible les fonctions
crochets de on de malloc ; si la vérification de malloc
n'était pas utilisée dans l'état sauvegardé, mais
que l'appelant a demandé la vérification de malloc, alors les
fonctions crochets sont mises à 0.
VOIR AUSSI¶
malloc(3),
mallopt(3)
COLOPHON¶
Cette page fait partie de la publication 3.65 du projet
man-pages Linux.
Une description du projet et des instructions pour signaler des anomalies
peuvent être trouvées à l'adresse
http://www.kernel.org/doc/man-pages/.
TRADUCTION¶
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
<
http://po4a.alioth.debian.org/> par l'équipe de traduction
francophone au sein du projet perkamon
<
http://perkamon.alioth.debian.org/>.
Veuillez signaler toute erreur de traduction en écrivant à
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet
manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce
document en utilisant la commande «
man -L C
<section>
<page_de_man> ».