c++ - FastCGI 清理代码在 Windows 下不起作用

标签 c++ c windows apache fastcgi

在带有 mod_fastcgi 的 Windows 服务器上使用 apache,C 代码如下所示:

void main() {
    init();
    while (FCGI_Accept() >= 0)
        work();
    cleanup();
}

当服务被关闭时(即:net stop apache2),进程终止而没有到达清理代码。

我在这里错过了什么?

最佳答案

从阅读FCGI_Accept 联机帮助页和this FAQ entry 看来,事实上,FCGI_Accept 在 Apache 关闭的情况下不会返回 -1。尝试为 SIGUSR1 和 SIGTERM 设置信号处理程序。前一段时间发布了一个示例(不是特定于 Windows,但值得一试)on a mailing list, here.

关于c++ - FastCGI 清理代码在 Windows 下不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/661818/

相关文章:

c++ - 防止在执行 : if(a! =b) 时将两个对象从两个类转换为 bool

c - Win Vista - dosbox - gcc - Hello World - 控制台应用程序未运行

C文件比较

c - 数组在内存中存储在哪里?

windows - 虚拟发送数据到com口

windows - Jenkins Pipeline 无法在 Windows slave 中执行 SH 命令文件

c++ - C++ 中的 L 前缀究竟是什么?

c++ - 为什么在前向声明时必须提供枚举的大小?

windows - Windows 开箱即用支持的语言

C++ new() 在调用 ctor 之前崩溃