ПРОЕКТЫ 


  АРХИВ 


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]


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: panic: MUTEX_LOCK (22) [op.c:352]
  • From: "Denis Seleznyov" <denis.seleznyov@xxxxxxxxx>
  • Date: Thu, 28 Aug 2008 15:51:21 +0400
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type:references; bh=xiozD+2Tl6VYW5OwBN9UgRkd6++AAOG5H/KPaVjRO0M=; b=xeO4+4ch0DzL5ZuX17U4/5Ft699kcM19+oCSovwJbpjlzBetKi2WVKFYaeg3f2jx7M PR29GBqES26+X/0zgBzdAiSBsvEloTTAJtvkBT2St/1FkNSyPjDZoJ/8pSLsPm/asIUM zg966hoiPT8u0U9CobYhNghxf9EYCqgwTgDzw=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:references; b=jn7Olyws9ogJwJr4h0bHjfX3R47zueiNeoSjbGjv/eOigRldvXsjAXuIJsI+0x1nBN bv63qdtic3yk2tiHuBeU8UsDWAmO22/GIXtGRZd0A6xC9QmFKSD8OXBU5Q1cgM/bCt47 b4P3L8DHgorBi0wU0clJFUSn6boGEdrwi/Qdo=
  • In-reply-to: <341554150.20080828131321@xxxxxxxxx>
  • References: <200808280109.02747.denis.seleznyov@xxxxxxxxx> <341554150.20080828131321@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/


 




Copyright © Lexa Software, 1996-2009.