gpt4 book ai didi

apache - apache2 中的初始化模块

转载 作者:行者123 更新时间:2023-12-02 08:54:16 25 4
gpt4 key购买 nike

我以前在apache 1.3中编写apache模块,但现在我愿意转到apache2。出于性能目的,我现在正在编写的模块有自己的二进制数据,而不是数据库。我需要将这些数据加载到共享内存中,这样每个 child 都可以访问它,而无需制作自己的副本,并且在启动时加载/创建二进制数据是很实用的,就像我在 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 中寻找一个可以放置类似功能的位置。

你能帮忙吗?

谢谢本韦努托

最佳答案

由于您希望服务器创建一个供所有子进程使用的共享内存段,因此我建议在后配置 Hook (ap_hook_post_config) 中对其进行初始化。一旦配置被读取,但在子项生成之前,就会调用此函数,因此它应该可以正常工作。

关于apache - apache2 中的初始化模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2743122/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com