Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

       malloc_get_state,  malloc_set_state  - Sauvegarder et restaurer l'état de l'implémentation
       de malloc

SYNOPSIS

       #include <malloc.h>

       void *malloc_get_state(void);
       int malloc_set_state(void *state);

DESCRIPTION

       Note : ces fonctions sont supprimées dans la version 2.25 de la glibc.

       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épendante  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 cette zone mémoire avec
       free(3)).

       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 valable, 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  plus  récente  que  celle  connue  par l'implémentation,
       malloc_set_state() renvoie -2.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │malloc_get_state(), malloc_set_state()                  │ Sécurité des threads │ MT-Safe │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

CONFORMITÉ

       Ces fonctions sont des extensions GNU.

NOTES

       Ces fonctions sont utiles lorsque cette implémentation  de  malloc(3)  fait  partie  d'une
       bibliothèque  partagée  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 malloc() ; si cette vérification n'était  pas  utilisée
       dans  l'état  sauvegardé,  mais  que l'appelant l’a demandée, alors les fonctions crochets
       sont mises à zéro.

VOIR AUSSI

       malloc(3), mallopt(3)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>  et  Grégoire  Scano
       <gregoire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.