From 2737945b4cb89e7f3fce5b9a9e55f6e23133b8bf Mon Sep 17 00:00:00 2001 From: Alexander Jacobsen Date: Sat, 18 Jul 2026 01:50:12 +0200 Subject: [PATCH] better error handling --- pixelflut.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pixelflut.c b/pixelflut.c index 1f3cf2e..466c2f0 100644 --- a/pixelflut.c +++ b/pixelflut.c @@ -231,15 +231,21 @@ static void *worker_main(void *arg) /* Transient back-pressure. Back off briefly so the queue * drains (rather than spinning on failing syscalls), then * resend the same batch - no need to repaint. */ - usleep(200); + usleep(100); continue; case ECONNREFUSED: break; /* stale ICMP on connected UDP; repaint and retry */ + case EHOSTUNREACH: /* display down / IPv6 ND unresolved */ + case ENETUNREACH: + case EHOSTDOWN: + case ENETDOWN: + usleep(100000); + break; default: perror("sendmmsg"); break; } - break; /* ECONNREFUSED / unexpected: stop, repaint, retry */ + break; } }