FastCGIクライアント実装の例をいくつか見ている間、奇妙なコードが見つかりました。
#include <fcgi_stdio.h>
#include <stdlib.h>
int main(void) {
while(FCGI_Accept() >= 0)
printf("Content-type: text/html\r\n\r\n"
"Got a <i>%s</i> request\n",
getenv("REQUEST_METHOD"));
return 0;
}
私にとって、プロセスは常に同じ値を取得しているようですが、getenv(...)
プロセスの目的は親プロセスからデータを読み取るようです。
子プロセスの実行中に親プロセスが子環境を更新できますか?
ベストアンサー1
いいえ。
ただし、このFCGI_Accept()
関数は呼び出すたびに現在のプロセスの環境(Cライブラリのコピー)を更新できますが、もちろんこれが行われます。
実際に通話を維持していない結果getenv()
は次のとおりです。具体的に関数の doco から呼び出されます。これにより、このページでdocoを読んでいる人が何人であるかを計算できます。 (-:
追加読書
FCGI_Accept
。 FCGIマニュアル。株式会社オープンマーケット1996. opensource.apple.comに保管されています。