Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

       malloc_get_state, malloc_set_state - сохраняют и восстанавливают состояние в реализации malloc

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <malloc.h>

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

ОПИСАНИЕ

       Note: these functions are removed in glibc 2.25.

       Функция  malloc_get_state()  записывает  текущее состояние всех внутренних служебных переменных malloc(3)
       (но  не  фактическое  содержимое  кучи  или  состояние  указателей  функций  malloc_hook(3)).   Состояние
       сохраняется  в  системно-зависимой  структуре  данных  с  закрытым форматом, динамически выделенной через
       malloc(3), и указатель на эту структуру данных возвращается как результат  функции  (вызывающий  является
       ответственным за вызов free(3) для этой памяти).

       Функция  malloc_set_state()  восстанавливает значения состояния внутренних служебных переменных malloc(3)
       из сохранённой структуры закрытого формата, на которую указывает state.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении malloc_get_state() возвращает указатель на  только  что  выделенную  структуру  с
       закрытым   форматом.   При   ошибке   (например,  если  не  получилось  выделить  память  под  структуру)
       malloc_get_state() возвращает NULL.

       При успешном выполнении malloc_set_state() возвращается 0. Если реализация  обнаруживает,  что  state  не
       указывает  на  корректную  структуру  с  данными,  то  malloc_set_state()  возвращает -1. Если реализация
       обнаруживает, что версия структуры данных, на которую ссылается state, новее чем известно реализации,  то
       malloc_set_state() возвращает -2.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌─────────────────────────────────────────────────────────────────────┬──────────────────────┬──────────┐
       │ ИнтерфейсАтрибутЗначение │
       ├─────────────────────────────────────────────────────────────────────┼──────────────────────┼──────────┤
       │ malloc_get_state(), malloc_set_state()                              │ Безвредность в нитях │ MT-Safe  │
       └─────────────────────────────────────────────────────────────────────┴──────────────────────┴──────────┘

СТАНДАРТЫ

       GNU.

ПРИМЕЧАНИЯ

       Эти  функции  полезны  при  использовании реализации malloc(3) в виде общей библиотеки, а содержимое кучи
       сохраняется/восстанавливается каким-то другим способом. Это используется в GNU Emacs для реализации своей
       функции «выгрузки».

       Эти функции никогда не сохраняют и не восстанавливают указатели на перехватывающие функции, но  есть  два
       исключения:  если  вызваны  проверки  malloc (смотрите mallopt(3)), то, если возможно, malloc_get_state()
       сбрасывает проверки malloc перехватывающих функций; если проверки malloc не  используются  в  сохранённом
       состоянии, но вызывающий их запросил, то перехватывающие функции сбрасываются в 0.

СМОТРИТЕ ТАКЖЕ

       malloc(3), mallopt(3)

ПЕРЕВОД

       Русский   перевод   этой   страницы   руководства   разработал(и)   aereiae  <aereiae@gmail.com>,  Alexey
       <a.chepugov@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>,
       Dmitry Bolkhovskikh <d20052005@yandex.ru>, ITriskTI <ITriskTI@gmail.com>,  Max  Is  <ismax799@gmail.com>,
       Yuri   Kozlov   <yuray@komyakino.ru>,   Иван   Павлов  <pavia00@gmail.com>,  Малянов  Евгений  Викторович
       <maljanow@outlook.com> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                              malloc_get_state(3)