LINUX.ORG.RU

История изменений

Исправление dave, (текущая версия) :

С сигналами много что криво работает. Типичная ошибка следующая. Если там используется fork, то очень важно, чтобы за ним следовал exec(*) в дочернем процессе, а между этими вызовами должны использоваться исключительно «безопасные» относительно сигналов функции. Грубо говоря, нельзя использовать ни мьютексы, ни printf, ни чего такого. Строго ограниченный набор функций - их штук 200 где-то. Иначе в одном случае из ста крашится дочерний процесс, но не всегда, что затрудняет поиск причины. Многие просто не в курсе, что есть такая проблема. В общем, я бы в первую очередь проверил этот сценарий.

Исходная версия dave, :

С сигналами много что криво работает. Типичная ошибка следующая. Если там используется fork, то очень важно чтобы за ним следовал exec(*) в дочернем процессе, а между этими вызовами должны использоваться исключительно «безопасные» относительно сигналов функции. Грубо говоря, нельзя использовать ни мьютексы, ни printf, ни чего такого. Строго ограниченный набор функций - их штук 200 где-то. Иначе в одном случае из ста крашится дочерний процесс, но не всегда, что затрудняет поиск причины. Многие просто не в курсе, что есть такая проблема. В общем, я бы в первую очередь проверил этот сценарий.