From 577c226deb71f7a94f5b2a6ed863fa7d8fb34d1a Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Tue, 13 Jan 2026 22:46:54 +0100 Subject: [PATCH] log-forward: try to mitigate a race condition --- log-forward.rsc | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/log-forward.rsc b/log-forward.rsc index a3a4bc9f..fdbe1173 100644 --- a/log-forward.rsc +++ b/log-forward.rsc @@ -63,8 +63,11 @@ :set LogForwardInclude [ $EitherOr $LogForwardInclude [] ]; :set LogForwardIncludeMessage [ $EitherOr $LogForwardIncludeMessage [] ]; + :local LogAll [ /log/find ]; + :local LogForwardMax ($LogAll->([ :len $LogAll ] - 1) ); :local LogForwardFilterLogForwardingCached [ $EitherOr [ $LogForwardFilterLogForwarding ] ("\$^") ]; - :foreach Message in=[ /log/find where .id>$LogForwardLast and \ + + :foreach Message in=[ /log/find where .id>$LogForwardLast and .id<=$LogForwardMax and \ ((!(message="") and !(message~$LogForwardFilterLogForwardingCached) and \ !(topics~$LogForwardFilter) and !(message~$LogForwardFilterMessage)) or \ topics~$LogForwardInclude or message~$LogForwardIncludeMessage) ] do={ @@ -105,8 +108,7 @@ :set LogForwardRateLimit [ $MAX 0 ($LogForwardRateLimit - 1) ]; } - :local LogAll [ /log/find ]; - :set LogForwardLast ($LogAll->([ :len $LogAll ] - 1) ); + :set LogForwardLast $LogForwardMax; } do={ :global ExitError; $ExitError $ExitOK [ :jobname ] $Err; }