# V3553. AUTOSAR. The standard signal handling functions should not be used.

Данное диагностическое правило основано на руководстве AUTOSAR (AUTomotive Open System ARchitecture) по разработке программного обеспечения.

Функции стандартной библиотеки из заголовочных файлов <signal.h> / <csignal> могут быть опасны. Их поведение зависит от реализации, а их использование может привести к неопределенному поведению.

Причиной неопределенного поведения, к примеру, является использование обработчиков сигналов в многопоточной программе. С другими причинами можно ознакомиться здесь.

Анализатор выдаст предупреждение, если обнаружит использование следующих функций:

- signal;
- raise.

Пример кода, на который анализатор выдает предупреждение:

    #include <csignal>

    void handler(int sig) { .... }

    void foo()
    {
      signal(SIGINT, handler);
    }

Данная диагностика классифицируется как:

AUTOSAR-M18.7.1