【发布时间】:2011-02-14 03:32:10
【问题描述】:
我以前在 apache 1.3 中编写 apache 模块,但这些天我愿意传递给 apache2。出于性能目的,我目前正在编写的模块是自己的二进制数据,而不是数据库。我需要将这些数据加载到共享内存中,这样每个孩子都可以在不制作自己的副本的情况下访问它,并且在启动时加载/创建二进制数据是很实用的,就像我以前使用 apache 1.3 所做的那样。问题是我没有在 apache2 中找到 init 事件,在 1.3 中的模块结构中,在 STANDARD_MODULE_STUFF 之后立即找到 /** 模块初始化程序 */ 的位置,您可以在其中放置一个将提前执行的函数. 我以前写的函数体是这样的:
if ( getppid == 1 )
{
// Load global data here
// this is the parent process
void* data = loadGlobalData( someFilePath );
setGlobalData( config, data );
}
else
{
// this is the init of a child process
// do nothing
}
我正在 apache2 中寻找可以放置类似功能的地方。
你能帮忙吗?
谢谢 本韦努托
【问题讨论】:
标签: apache module apache2 initialization