malloc_get_state(3) Library Functions Manual malloc_get_state(3)

malloc_get_state, malloc_set_state - Den Zustand der Malloc-Implementierung aufzeichnen und wiederherstellen

Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

#include <malloc.h>
void *malloc_get_state(void);
int malloc_set_state(void *zustand);

Hinweis: Diese Funktionen wurden in Glibc 2.25 entfernt.

Die Funktion malloc_get_state() zeichnet den aktuellen Zustand aller internen Buchhaltungsvariablen von malloc(3) auf (aber nicht die tatsächlichen Inhalte des Heaps oder den Zustand der Funktionszeiger malloc_hook(3)). Der Zustand wird in einer systemabhängigen, nichtransparenten Datenstruktur aufgezeichnet, die dynamisch mittels malloc(3) belegt wird, und ein Zeiger auf diese Datenstruktur wird als Funktionsergebnis zurückgeliefert. (Es ist die Aufgabe des Aufrufenden, diesen Speicher mit free(3) freizugeben.)

Die Funktion malloc_set_state() stellt den Zustand aller internen Buchhaltungsvariablen von malloc(3) auf die in der nichtransparenten Datenstruktur, auf die Zustand zeigt, aufgezeichneten Werte wieder her.

Im Erfolgsfall liefert malloc_get_state() einen Zeiger auf eine frisch belegte, nichttransparente Datenstruktur zurück. Im Fehlerfall (falls beispielsweise der Speicher für die Datenstruktur nicht belegt werden konnte) liefert malloc_get_state() NULL zurück.

Im Erfolgsfall liefert malloc_set_state() 0 zurück. Falls die Implementierung erkennt, dass Zustand nicht auf eine korrekt formatierte Datenstruktur zeigt, liefert malloc_set_state() -1 zurück. Falls die Implementierung erkennt, dass die Version der Datenstruktur, auf die sich Zustand bezieht, eine neuere ist, als diese Implementierung kennt, dann liefert malloc_set_state() -2 zurück.

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
malloc_get_state(), malloc_set_state() Multithread-Fähigkeit MT-Sicher

GNU.

Diese Funktionen sind nützlich, wenn diese Implementierung von malloc(3) als Teil einer dynamischen Bibliothek verwandt wird und der Inhalt des Heaps mittels einer anderen Methode gespeichert und wiederhergestellt wird. Diese Technik wird von GNU Emacs verwandt, um seine Methode der Funktion »dumping« zu implementieren.

Hook-Funktionszeiger werden durch diese Funktionen niemals gespeichert oder wiederhergestellt. Es gibt aber zwei Ausnahmen: Wenn Malloc-Überprüfung beim Aufruf von malloc_get_state() in Verwendung war (siehe mallopt(3)), dann wird malloc_set_state() die Malloc-Überprüfungs-Hooks falls möglich zurücksetzen; falls Malloc-Überprüfung im aufgezeichneten Zustand nicht in Verwendung war, aber der Aufrufende um Malloc-Überprüfung gebeten hat, dann werden die Hooks auf 0 zurückgesetzt.

malloc(3), mallopt(3)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

1. November 2023 Linux man-pages 6.06