From a39e6412f697ef52592f02f42ac33302a9f9baf7 Mon Sep 17 00:00:00 2001 From: Mark Featherston Date: Tue, 4 Aug 2026 16:14:50 -0700 Subject: [PATCH] fix: retry interrupted LCD sleeps --- src/lcdmesg.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/lcdmesg.c b/src/lcdmesg.c index 07a413c..4080e41 100755 --- a/src/lcdmesg.c +++ b/src/lcdmesg.c @@ -39,16 +39,13 @@ void set_8bit_array(int *val, uint8_t data) void nsleep(long int nsec) { - struct timespec target, leftover; - int ret; + struct timespec target; target.tv_sec = 0; target.tv_nsec = nsec; - ret = nanosleep(&target, &leftover); - if(ret == -1) - if (errno == -EINTR) - nsleep(leftover.tv_nsec); + while (nanosleep(&target, &target) == -1 && errno == EINTR) + ; } uint8_t get_8bit_array(int *val) {