Ao olhar alguns exemplos para implementar um cliente FastCGI, encontrei um código curioso.
#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;
}
Para mim, parece que o processo sempre obteria o mesmo valor para getenv(...)
, mas parece que a intenção é ler dados do processo pai.
O processo pai pode atualizar o ambiente filho enquanto o processo filho está em execução?
Não.
Mas a
FCGI_Accept()
função pode atualizar (a cópia da biblioteca C) o ambiente do processo atual toda vez que é chamado, o que obviamente é o que ela faz.De fato, não reter o resultado da chamada
getenv()
é especificamente chamado no documento dessa função. Então você pode contar quantas pessoas nesta página leram o documento. (-:Leitura adicional
FCGI_Accept
. Manual FCG . Open Market, Inc.. 1996. Arquivado em opensource.apple.com.