2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 23:06:37 +00:00

TcpServerUtils.pm: avoid memory leak, delete attribtue for temprary connections (Forum #73490)

git-svn-id: https://svn.fhem.de/fhem/trunk@14602 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
rudolfkoenig 2017-06-30 08:41:34 +00:00
parent 66172f24cb
commit f3e7191ae8
2 changed files with 10 additions and 11 deletions

View File

@ -532,6 +532,7 @@ FW_Read($$)
# child.
TcpServer_Disown( $hash );
delete($defs{$name});
delete($attr{$name});
FW_Read($hash, 1) if($hash->{BUF});
return;
@ -580,7 +581,6 @@ FW_Read($$)
if(!$hash->{isChild});
TcpServer_Close( $hash );
FW_closeConn($hash);
delete($defs{$name});
}
}
@ -706,7 +706,6 @@ FW_closeConn($)
$FW_userAgent && $FW_userAgent=~m/(iPhone|iPad|iPod)/);
if(!$FW_httpheader{Connection} || $cc) {
TcpServer_Close($hash);
delete($defs{$hash->{NAME}});
}
}
@ -2786,7 +2785,6 @@ FW_logInform($$)
if(!FW_addToWritebuffer($ntfy, "<div class='fhemlog'>$msg</div>") ){
TcpServer_Close($ntfy);
delete $logInform{$me};
delete $defs{$me};
}
}
@ -2910,7 +2908,6 @@ FW_Notify($$)
my $name = $ntfy->{NAME};
Log3 $name, 4, "Closing connection $name due to full buffer in FW_Notify";
TcpServer_Close($ntfy);
delete($defs{$name});
}
}
@ -2938,7 +2935,6 @@ FW_directNotify($@) # Notify without the event overhead (Forum #31293)
my $name = $ntfy->{NAME};
Log3 $name, 4, "Closing connection $name due to full buffer in FW_Notify";
TcpServer_Close($ntfy);
delete($defs{$name});
}
}
}
@ -3127,6 +3123,7 @@ FW_closeInactiveClients()
Log3 $FW_wname, 4, "Closing inactive connection $dev";
FW_Undef($defs{$dev}, "");
delete $defs{$dev};
delete $attr{$dev};
}
InternalTimer($now+60, "FW_closeInactiveClients", 0, 0);
}

View File

@ -181,6 +181,8 @@ TcpServer_Close($)
delete($hash->{CD});
delete($selectlist{$name});
delete($hash->{FD}); # Avoid Read->Close->Write
delete $attr{$name};
delete $defs{$name};
}
if(defined($hash->{SERVERSOCKET})) { # Server
close($hash->{SERVERSOCKET});