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

Данное диагностическое правило основано на руководстве [AUTOSAR](https://www.autosar.org/) \(AUTomotive Open System ARchitecture\) по разработке программного обеспечения\.

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

Причиной неопределенного поведения, к примеру, является использование обработчиков сигналов в многопоточной программе\. С другими причинами можно ознакомиться [здесь](https://en.cppreference.com/w/c/program/signal)\.

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

* signal;
* raise\.

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

```cpp
#include <csignal>

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

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