[Moscow.pm] Проблема со встроенным в nginx перлом

Anton Yuzhaninov citrin на citrin.ru
Чт Окт 18 03:53:59 PDT 2012


On 18.10.2012 14:36, Михаил Монашёв wrote:
>> Просто  сам nginx нормально обработать ошибку из malloc()'а может (и
>> всего  лишь закроет запрос, которому не повезло, ругнувшись при этом
>> в лог). А вот perl - нет, и если он получит ошибку из malloc()'а, то
>> сделает exit(1) рабочему процессу nginx-а.
>
> Можно как-то обойти подобную проблему?
>

Чтобы malloc() вернул ошибку обычно нужно постараться.

Например под FreeBSD нужно:
1. переключиться malloc на использование sbrk
2. задать лимит на datasize в /etc/login.conf

Тогда при исчерпании лимита malloc() вернет ошибку.

В целом лимиты полезная вещь, позволяет застраховаться от того, что машину уйдет 
в swap и начнет работать очень медленно, но при использовании встреченного перла 
лимиты включать нельзя.

-- 
  Anton Yuzhaninov


Подробная информация о списке рассылки Moscow-pm