Compartir a través de


Almacenamiento persistente en el servidor

Puede optimizar la aplicación para que el código auxiliar del servidor no libere memoria en el servidor al concluir una llamada a procedimiento remoto. Por ejemplo, cuando varios procedimientos remotos manipularán un identificador de contexto, puede usar el atributo ACF [allocate(dont_free)] para conservar la memoria asignada en el servidor.

El atributo [allocate(dont_free)] se agrega a la declaración typedef de ACF en ACF. Por ejemplo:

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

Cuando se especifica el atributo [allocate(dont_free)], la estructura de datos de árbol se asigna, pero no se libera, mediante el código auxiliar del servidor. Al hacer que los punteros a estas áreas de datos persistentes estén disponibles para otras rutinas (por ejemplo, copiando los punteros a variables globales), los datos retenidos son accesibles para otras funciones del servidor. El atributo [allocate(dont_free)] es especialmente útil para mantener estructuras de puntero persistentes como parte de la información de estado del servidor asociada a un tipo de controlador de contexto.