>
>
>
V3553. AUTOSAR. The standard signal han…


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