spawn fcgi 原始碼分析

2021-07-05 17:55:02 字數 510 閱讀 6410

本文內容對spawn-fcgi原始碼進行解讀,簡要說明其原理,並具體說明其實現方式。

spawn-fcgi 原始碼雖然只有600多行,但是初次閱讀起來依然需要花很多時間。為了節省讀者的學習成本,提高學習spawn-fcgi 的效果,作者對spawn-fcgi的原始碼做了裁剪,保留最核心的功能和原有的**結構,且能編譯後正常執行。最後**只有200多行。

原始碼位址在這裡

要閱讀spawn-fcgi,讀者至少需要掌握以下幾個方面的知識或技能:

把socket的檔案描述符,複製到fcgi_listensock_fileno

會執行execl 函式,執行cgi程式,並讓cgi程式擁有子程序的上下文環境

執行cgi程式後,使用fcgi_listensock_fileno這個描述符,來與webserver進行通訊。gcc -o spawn-fcgi spawn-fcgi.c

一行命令即可

./spawn-fcgi -f cgi -p 9001 -f 256

裁剪後也僅支援接收這三個引數

spring原始碼分析 spring原始碼分析

1.spring 執行原理 spring 啟動時讀取應用程式提供的 bean 配置資訊,並在 spring 容器中生成乙份相應的 bean 配置登錄檔,然後根據這張登錄檔例項化 bean,裝配好 bean 之間的依賴關係,為上 層應用提供準備就緒的執行環境。二 spring 原始碼分析 1.1spr...

思科VPP原始碼分析(dpo機制原始碼分析)

vpp的dpo機制跟路由緊密結合在一起。路由表查詢 ip4 lookup 的最後結果是乙個load balance t結構。該結構可以看做是乙個hash表,裡面包含了很多dpo,指向為下一步處理動作。每個dpo都是新增路由時的乙個path的結果。dpo標準型別有 dpo drop,dpo ip nu...

redux原始碼分析(三) 原始碼部分

下面是每個部分的一些解讀 createstore apicreatestore reducer,initialstate enhancer 曾經非常好奇這個函式的第二個引數到底是initialstate還是enhancer,因為見過兩種寫法都有的,以為是版本問題。看了原始碼才發現,都可以的。如果你不...