== Why is this an issue?

Signal handling contains implementation-defined and undefined behaviour.


=== Noncompliant code example

[source,cpp]
----
#include <csignal> // Noncompliant 
void my_handler ( int32_t );
void f1 ( ) 
{ 
  signal ( 1, my_handler ); // Noncompliant 
}
----


== Resources

* MISRA {cpp}:2008, 18-7-1


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Remove this inclusion of "<csignal>" and related functions, variables or types.


'''
== Comments And Links
(visible only on this page)

=== relates to: S987

=== on 14 Oct 2014, 16:30:58 Ann Campbell wrote:
\[~samuel.mercier], a few things of note, which I've fixed on this instance:

* Code should be quoted in the message, i.e. "<csignal>" rather than <csignal>. Ideally it's quoted in the summary as well, but since we're using the MISRA titles verbatim...
* Add a See section to the description listing the appropriate MISRA number
* Fill in Applicability. Almost always this is both Sources and Tests
* Make sure the appropriate MISRA C and MISRA {cpp} fields on the references tab are filled in (this step is the easiest for me to forget)

Also, issue messages don't wrap, so I usually try to keep the length down.

=== on 17 Jul 2015, 12:10:10 Ann Campbell wrote:
\[~evgeny.mandrikov] this rule is still in 'targeted' state for {cpp}. Seems very combinable with RSPEC-987

endif::env-github,rspecator-view[]
