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.44 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> ».