完全な答えではありませんが、私はなんとかグローバル変数を持つ方法を見つけることができました。
プロセスのグローバルプール(pconfとpool)でapr_pool_userdata_get
andメソッドを使用しました。apr_pool_userdata_set
詳細については、http://apr.apache.org/docs/apr/0.9/group_apr_pools.htmlを参照し
てください。
例:
静的グローバルデータをサーバープロセスプールにアタッチする
char *data = "this is some data";
apr_pool_userdata_setn ((void*) data, "myglobaldata_key", NULL, request->server->process->pool);
マロックされたヒープデータをサーバープロセスプールにアタッチする
char *data = strdup("this is some data");
apr_pool_userdata_setn ((void*) data, "myglobaldata_key", (apr_status_t(*)(void *))free, request->server->process->pool);
次に、グローバルデータを取得します。
char *data;
apr_pool_userdata_get ((void**)&data, "myglobaldata_key", request->server->process->pool);
if (data == NULL) {
// data not set...
}