From 11a1a7cff83de07cc92d8ff5674478c40f37bf01 Mon Sep 17 00:00:00 2001 From: Alberto Escolar Piedras Date: Wed, 1 Oct 2025 16:59:45 +0200 Subject: [PATCH] native_simulator: Get latest from upstream Align with native_simulator's upstream main 4641dad899979528e4083aa762651388a2a7ec7b Which includes: 4641dad common: nsi_internal.h: Use NSI_INLINE macros 7a1156c nsi_tasks: move header to include folder 6b7d76a nct: fix restarting sem_wait after signal 166516d nce: fix restarting sem_wait after signal Signed-off-by: Alberto Escolar Piedras --- .../native_simulator/common/src/{ => include}/nsi_tasks.h | 0 scripts/native_simulator/common/src/nce.c | 2 +- scripts/native_simulator/common/src/nct.c | 2 +- scripts/native_simulator/common/src/nsi_internal.h | 7 +++---- 4 files changed, 5 insertions(+), 6 deletions(-) rename scripts/native_simulator/common/src/{ => include}/nsi_tasks.h (100%) diff --git a/scripts/native_simulator/common/src/nsi_tasks.h b/scripts/native_simulator/common/src/include/nsi_tasks.h similarity index 100% rename from scripts/native_simulator/common/src/nsi_tasks.h rename to scripts/native_simulator/common/src/include/nsi_tasks.h diff --git a/scripts/native_simulator/common/src/nce.c b/scripts/native_simulator/common/src/nce.c index 86b4abf59cd73..7380088a3c6a9 100644 --- a/scripts/native_simulator/common/src/nce.c +++ b/scripts/native_simulator/common/src/nce.c @@ -52,7 +52,7 @@ NSI_INLINE int nce_sem_rewait(sem_t *semaphore) { int ret; - while ((ret = sem_wait(semaphore)) == EINTR) { + while (((ret = sem_wait(semaphore)) == -1) && (errno == EINTR)) { /* Restart wait if we were interrupted */ } return ret; diff --git a/scripts/native_simulator/common/src/nct.c b/scripts/native_simulator/common/src/nct.c index a2ef8a1f6282c..3e5c944925113 100644 --- a/scripts/native_simulator/common/src/nct.c +++ b/scripts/native_simulator/common/src/nct.c @@ -146,7 +146,7 @@ NSI_INLINE int nct_sem_rewait(sem_t *semaphore) { int ret; - while ((ret = sem_wait(semaphore)) == EINTR) { + while (((ret = sem_wait(semaphore)) == -1) && (errno == EINTR)) { /* Restart wait if we were interrupted */ } return ret; diff --git a/scripts/native_simulator/common/src/nsi_internal.h b/scripts/native_simulator/common/src/nsi_internal.h index ebe8289b17831..d054064bc91b3 100644 --- a/scripts/native_simulator/common/src/nsi_internal.h +++ b/scripts/native_simulator/common/src/nsi_internal.h @@ -8,6 +8,7 @@ #define NSI_COMMON_SRC_NSI_INTERNAL_H #include +#include "nsi_utils.h" #ifdef __cplusplus extern "C" { @@ -23,8 +24,7 @@ extern "C" { * * @return least significant bit set, 0 if @a op is 0 */ - -static inline unsigned int nsi_find_lsb_set(uint32_t op) +NSI_INLINE unsigned int nsi_find_lsb_set(uint32_t op) { return __builtin_ffs(op); } @@ -39,8 +39,7 @@ static inline unsigned int nsi_find_lsb_set(uint32_t op) * * @return least significant bit set, 0 if @a op is 0 */ - -static inline unsigned int nsi_find_lsb_set64(uint64_t op) +NSI_INLINE unsigned int nsi_find_lsb_set64(uint64_t op) { return __builtin_ffsll(op); }