From 9cd5310176afc360bb4105da4485214cdc5898f3 Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 5 Nov 2023 11:17:59 +0000 Subject: [PATCH] fhem.pl/MQTT2_CLIENT.pm: try to avoid & debug endless loop (Forum #111959) git-svn-id: https://svn.fhem.de/fhem/trunk@28126 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/00_MQTT2_CLIENT.pm | 4 ++++ fhem/fhem.pl | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/00_MQTT2_CLIENT.pm b/fhem/FHEM/00_MQTT2_CLIENT.pm index 30a9eb570..8fa94688e 100644 --- a/fhem/FHEM/00_MQTT2_CLIENT.pm +++ b/fhem/FHEM/00_MQTT2_CLIENT.pm @@ -116,6 +116,10 @@ MQTT2_CLIENT_connect($;$) if($mc ne -1 && $hash->{nrFailedConnects} >= $mc) { Log3 $me, 2, "maxFailedConnects ($mc) reached, no more reconnect attemtps"; delete($readyfnlist{"$me.".$hash->{DeviceName}}); # Source of retry + if("$me.".$hash->{DeviceName} ne $hash->{_readyKey}) { #111959 + Log3 $me, 2, "RFN ERROR: $me.$hash->{DeviceName} ne $hash->{_readyKey}"; + delete($readyfnlist{$hash->{_readyKey}}); + } return; } diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 5c30596ed..45ad0568e 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -846,12 +846,14 @@ while (1) { next if(!$h); # due to rereadcfg / delete next if($h->{NEXT_OPEN} && gettimeofday() < $h->{NEXT_OPEN}); + $h->{_readyKey} = $p; # Endless-Loop-Debugging #111959 if(CallFn($h->{NAME}, "ReadyFn", $h)) { if($readyfnlist{$p}) { # delete itself inside ReadyFn CallFn($h->{NAME}, "ReadFn", $h); } - } + delete($h->{_readyKey}); + } }