ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx + libfcgi



> Нужен пример того как раздаются
запросы, чтобы понять что там
происходит.

Каждый поток проходит FCGX_Accept_r
сомостоятельно, примерный код:


while (true){
        static pthread_mutex_t accept_mutex =
PTHREAD_MUTEX_INITIALIZER;

        pthread_mutex_lock(&accept_mutex);
        FCGX_Request* rq = new FCGX_Request;
        FCGX_InitRequest(rq, f_socket, 0); 
        FCGX_Accept_r(rq);
        pthread_mutex_unlock(&accept_mutex);
        /* ... здесь обработка запроса ... */
        FCGX_Finish_r(rq);
        delete rq;
}

Метод соответствует примеру threaded.c из
поставки libfcgi. По идее она должна быть
на это расчитана.

Вообще я сначала подумал, что libfcgi не
принимает новый запрос до того, как
обработается (FCGX_Finish_r), а потом
догадался останавливать
обрабатывающий поток совсем ( т.е.
обработка запроcа не будет завершена
никогда)

Posted at Nginx Forum: 
http://forum.nginx.org/read.php?21,181273,181296#msg-181296


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.