From d7df24c9992bd29da1d775c45cb73eb7892e5f78 Mon Sep 17 00:00:00 2001 From: Ophestra Umiker Date: Mon, 4 Nov 2024 12:56:19 +0900 Subject: fmsg: drop messages when msgbuf is full during withhold Logging functions are not expected to block. This change fixes multiple hangs where more than 64 messages are produced during withhold. Signed-off-by: Ophestra Umiker --- internal/fmsg/fmsg.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'internal/fmsg/fmsg.go') diff --git a/internal/fmsg/fmsg.go b/internal/fmsg/fmsg.go index dbe590bf..d4027204 100644 --- a/internal/fmsg/fmsg.go +++ b/internal/fmsg/fmsg.go @@ -16,20 +16,17 @@ func SetPrefix(prefix string) { func Print(v ...any) { dequeueOnce.Do(dequeue) - queueSync.Add(1) - msgbuf <- dPrint(v) + queue(dPrint(v)) } func Printf(format string, v ...any) { dequeueOnce.Do(dequeue) - queueSync.Add(1) - msgbuf <- &dPrintf{format, v} + queue(&dPrintf{format, v}) } func Println(v ...any) { dequeueOnce.Do(dequeue) - queueSync.Add(1) - msgbuf <- dPrintln(v) + queue(dPrintln(v)) } func Fatal(v ...any) { -- cgit v1.3.1