From 8b2979e11d30a054049f283873aaa34047a88034 Mon Sep 17 00:00:00 2001 From: Carl Niklas Rydberg Date: Sun, 8 Feb 2026 08:46:34 +0100 Subject: [PATCH] Use nanosleep for log verify retry delay --- src/core/asl_log_store.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/core/asl_log_store.c b/src/core/asl_log_store.c index c226a13..872b9e1 100644 --- a/src/core/asl_log_store.c +++ b/src/core/asl_log_store.c @@ -8,7 +8,7 @@ #include #include #include -#include +#include enum { AMDUAT_ASL_LOG_MAGIC_LEN = 8, @@ -109,6 +109,13 @@ static bool amduat_asl_log_add_size(size_t *acc, size_t add) { return true; } +static void amduat_asl_log_retry_sleep_us(uint32_t delay_us) { + struct timespec ts; + ts.tv_sec = (time_t)(delay_us / 1000000u); + ts.tv_nsec = (long)((delay_us % 1000000u) * 1000u); + (void)nanosleep(&ts, NULL); +} + void amduat_asl_log_chunk_free(amduat_asl_log_chunk_t *chunk) { if (chunk == NULL) { return; @@ -672,7 +679,7 @@ amduat_asl_store_error_t amduat_asl_log_append( verify_attempt + 1u >= AMDUAT_ASL_LOG_VERIFY_MAX_RETRIES) { break; } - usleep(AMDUAT_ASL_LOG_VERIFY_RETRY_US); + amduat_asl_log_retry_sleep_us(AMDUAT_ASL_LOG_VERIFY_RETRY_US); verify_attempt++; } if (verify_err != AMDUAT_ASL_STORE_OK) {