gpt4 book ai didi

c++ - 为 apache 编写基于 C++11 线程的模块

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:11:41 26 4
gpt4 key购买 nike

我想在 C++11 (GCC 4.7) 中为 Apache 编写一个模块并将其配置为:

  • 我的代码中的自定义初始化函数在服务器启动时被调用一次。
  • 请求处理 worker 由 apache 作为 pthreads 在同一个进程中产生。 (不是 fork 进程)
  • HTTP 请求由来自工作线程的函数调用处理,该函数调用我在代码中编写的阻塞函数。

这一切都可能吗?还是 Apache 不是这样设计的?如果可能的话,如何配置它以及构建和附加模块的草图是什么?

最佳答案

自从我编写 Apache 模块以来已经有很长时间了,但我不认为模块可以控制 child 是否作为新的 fork 或进程产生,我认为这是一个服务器范围的设置。

否则,一切皆有可能。 Apache 提供了 Hook ,您可以使用这些 Hook 在服务器运行时的不同时间调用模块的代码。

回到 Apache 1.3.x 时代,我曾经使用这本书 Writing Apache Modules with Perl and C它主要侧重于使用 Perl,但有足够的 C API 信息来弄清楚它。 developer docs for Apache 2.4展示如何使用 Hook 和控制请求处理。

关于c++ - 为 apache 编写基于 C++11 线程的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11914345/

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