panic: MUTEX_LOCK (22) [op.c:352]

Gena Makhomed gmm at csdoc.com
Thu Aug 28 18:05:05 MSD 2008


On Thursday, August 28, 2008 at 14:51:21, Denis Seleznyov wrote:

>> или в функции restart между stop и start вставить sleep 1 или 2 или 3

DS> а вот sleep 1 помогает. видимо, nginx не мог подняться пока старый еще умирал.

судя по исходникам nginx, после выполнения kill -QUIT `cat /var/run/nginx.pid`
старый master процесс практически сразу же удаляет pid-файл, и делает exit(0).
может быть вместо "sleep 1" надежно будет работать "sleep 0.5" или "sleep 0.1"

DS> Видимо, при повышении нагрузки нужно будет пропорционально увеличивать количество секунд :)

после того, как старый master сделал exit(0) - tcp socket уже никто не слушает,
и насколько я понимаю, все запросы клиентов к серверу за этот период времени
будут завершаться ошибкой. поэтому "sleep 1" - это workaround, а не solution.

"service nginx reload" в linux работет более стабильно и не теряет connect`ы.

-- 
Best regards,
 Gena






More information about the nginx-ru mailing list