2012-08-11 311 views
1

一个C++ 11线程基于模块我想写的Apache模块C++ 11(GCC 4.7),并配置它这样的:写作阿帕奇

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

是这一切成为可能?或者Apache不是这样设计的?如果可能的话,如何配置它以及如何构建和附加模块?

回答

1

这是因为我写的Apache模块很长一段时间,但我不认为一个模块可以控制孩子是否催生了新的叉子或过程,我认为这是一个服务器范围的设置。

否则,这一切都是非常可能的。 Apache提供了一些钩子,您可以在服务器运行期间的不同时间调用模块的代码。

回到Apache 1.3.x的日子里,我曾经使用Writing Apache Modules with Perl and C这本书,它主要关注使用Perl,但是在C API上有足够的信息来弄明白。 developer docs for Apache 2.4显示如何使用挂钩和控制请求处理。

+0

我大部分工作。我已经得出结论,使用MPM工作模块,理论上可以对其进行配置,以便使用具有多个线程的单个子进程。尽管如此,还没有测试过。 – 2012-08-13 22:44:35