次の方法で共有


サーバー上の永続ストレージ

リモート プロシージャ コールの終了時にサーバー スタブによってサーバー上のメモリが解放されないように、アプリケーションを最適化できます。 たとえば、コンテキスト ハンドルが複数のリモート プロシージャによって操作される場合、ACF 属性 [allocate(dont_free)] を 使用して、割り当てられたメモリをサーバーに保持できます。

[allocate(dont_free)] 属性は、ACF の ACF typedef 宣言に追加されます。 次に例を示します。

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

[allocate(dont_free)] 属性を指定すると、ツリー データ構造はサーバー スタブによって割り当てられますが、解放されません。 このような永続的なデータ領域へのポインターを他のルーチンで使用できるようにする場合 (たとえば、グローバル変数へのポインターをコピーするなど)、保持されたデータには他のサーバー関数からアクセスできます。 [allocate(dont_free)] 属性は、コンテキスト ハンドル型に関連付けられているサーバー状態情報の一部として永続的なポインター構造を維持する場合に特に便利です。