ПРОЕКТЫ 


  АРХИВ 


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: panic: MUTEX_LOCK (22) [op.c:352]



В таком случае попробуйте что-то типа
stop;
while [ -x /var/log/nginx.pid ]; do echo -n "."; sleep 1; done;
start;

28 августа 2008 г. 15:51 пользователь Denis Seleznyov <denis.seleznyov@xxxxxxxxx> написал:
2008/8/28 Gena Makhomed <gmm@xxxxxxxxx>
On Thursday, August 28, 2008 at 0:09:02, Denis V Seleznyov wrote:

DVS> Имею сабж в логах при остановке nginx на RHEL5.2 x86_64.
DVS> Соответственно, не работает service nginx stop и service nginx restart.

скорее всего причина этих глюков в том,
что nginx был собран вместе с экспериментальным модулем:

--with-http_perl_module
Именно, я приводил примеры логов с perl_module и без него.

логика работы такая: если вызывать killproc $prog без параметров,
сначала посылается сигнал kill -TERM $pid, потом ждут 1 секунду
и посылают сигнал kill -KILL $pid

если функция вызывается с параметром, например  killproc $prog -QUIT
тогда только посылается сигнал, и происходит немедленный возврат из функции.

в тех инит-скриптах для nginx`а, что я видел дял RHEL -
функция stop реализована через killproc $prog -QUIT
а restart - как stop ; start
я нагло стибрил с fedora 9, там так и есть

поэтому для nginx вполне может помочь заменить
killproc $prog -QUIT
на
killproc $prog 
без изменений

или в функции restart между stop и start вставить sleep 1 или 2 или 3
а вот sleep 1 помогает. видимо, nginx не мог подняться пока старый еще умирал.
Видимо, при повышении нагрузки нужно будет пропорционально увеличивать количество секунд :)
 


или (может быть) не использовать http_perl_module на production.
Нужен именно там.



--
Denis Seleznyov
http://www.cmsfx.com/



--
С уважением, Борис Долгов.
icq 77556665
e-mail boris@xxxxxxxxxxx


 




Copyright © Lexa Software, 1996-2009.