Provided by: manpages-fr-dev_4.13-4_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(), │ Sécurité des threads │ MT-Safe │
       │malloc_set_state()  │                      │         │
       └────────────────────┴──────────────────────┴─────────┘

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.10 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 ⟨⟩.