Поделиться через


Постоянное хранилище на сервере

Вы можете оптимизировать приложение, чтобы заглушка сервера не освобождала память на сервере при завершении удаленного вызова процедуры. Например, если дескриптор контекста будет управляться несколькими удаленными процедурами, можно использовать атрибут ACF [allocate(dont_free)] для сохранения выделенной памяти на сервере.

Атрибут [allocate(dont_free)] добавляется в объявление определения типа ACF в ACF. Пример:

/* ACF file fragment */
typedef [allocate(all_nodes, dont_free)] P_TREE_TYPE;

Если указан атрибут [allocate(dont_free)] , структура данных в виде дерева выделяется, но не освобождается серверной заглубой. Когда вы делаете указатели на такие области постоянных данных доступными для других подпрограмм, например путем копирования указателей на глобальные переменные, сохраненные данные становятся доступными для других функций сервера. Атрибут [allocate(dont_free)] особенно полезен для поддержания постоянных структур указателей в составе сведений о состоянии сервера, связанных с типом контекста дескриптора.