log-forward: try to mitigate a race condition

This commit is contained in:
Christian Hesse 2026-01-13 22:46:54 +01:00
parent c46e44e8a9
commit 577c226deb

View file

@ -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;
}