Files
sw_openocd/src/server
Parshintsev Anatoly 23ab2062e7 server: global state updated by signal handlers should have a volatile sig_atomic_t type
Signal handlers currently violate both C language and POSIX requirements:
1. To avoid undefined behavior (UB), variables accessed or modified by
   signal handlers be of atomic lock-free type.
2. The respected variables should be marked as volatile.
3. Signal handlers may only call a very limited subset of standard
   library functions.
4. Additionally, POSIX restricts signal handlers to signal-safe
   functions.

This patch addresses the first two issues by changing the type of global
variables that are accessed inside signal handler to `sig_atomic_t` and
adding `volatile` qualifiers.

Items 3 and 4 must be handled separately but are outside the scope of
this change.

Change-Id: I9c344e87bab9eefe7d99b0aad300a3ef4712df51
Signed-off-by: Parshintsev Anatoly <anatoly.parshintsev@syntacore.com>
Reviewed-on: https://review.openocd.org/c/openocd/+/8927
Tested-by: jenkins
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Reviewed-by: Chris Head <chead@zaber.com>
2025-08-24 11:18:04 +00:00
..
2022-07-23 13:06:38 +00:00
2024-07-13 22:29:04 +00:00