Hallo,
als ich gestern meine Internetverbindung voll ausgelastet hatte, kam es zu Verbindungsabbrüchen beim FHEM-Update:
2015.09.18 21:34:06 1: UPD ./CHANGED
2015.09.18 21:34:08 1: UPD ./fhem.pl
2015.09.18 21:34:09 1: UPD FHEM/00_FBAHA.pm
2015.09.18 21:34:11 1: UPD FHEM/00_MAXLAN.pm
2015.09.18 21:34:12 1: UPD FHEM/00_NetzerI2C.pm
2015.09.18 21:34:14 1: UPD FHEM/00_ZWDongle.pm
2015.09.18 21:34:18 1: http://fhem.de/fhemupdate/FHEM/00_ZWDongle.pm: Select timeout/error:
Can't call method "close" on an undefined value at /opt/fhem/FHEM/HttpUtils.pm line 65.
Diese Nachricht (mit Crash) bekam ich nochmal beim Herunterladen eines Kalenders durch das Calendar-Modul.
Ich denke, dass die Zeile 65 in HttpUtils.pm
$hash->{conn}->close() if($hash->{conn});
wie folgt lauten müsste:
$hash->{conn}->close() if(defined($hash->{conn}));
Viele Grüße
Boris
Habs geaendert und eingecheckt.
Allerdings wird das im Vergleich zum alten Code keinen Unterschied machen, oder ich verstehe perl nicht mehr.
Ich bin ja auch der Meinung, dass if() einen undefinierten Wert wie ein boolesches falsch behandelt. Aber wie sonst erklärt sich die Meldung?
Mit einer anderen Version?