From 3640a021f08e8e4e14989dab004c28f4c1689d23 Mon Sep 17 00:00:00 2001 From: rudolfkoenig Date: Sat, 10 Oct 2015 16:17:04 +0000 Subject: [PATCH] fhem.pl: avoid crash by putting syswrite in eval (Forum #41790) git-svn-id: https://svn.fhem.de/fhem/trunk@9420 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/fhem.pl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fhem/fhem.pl b/fhem/fhem.pl index 3e06f1728..819ebd662 100755 --- a/fhem/fhem.pl +++ b/fhem/fhem.pl @@ -661,7 +661,16 @@ while (1) { } elsif(defined($hash->{$wbName})) { my $wb = $hash->{$wbName}; alarm($hash->{ALARMTIMEOUT}) if($hash->{ALARMTIMEOUT}); - my $ret = syswrite($hash->{CD}, $wb); + + my $ret; + eval { $ret = syswrite($hash->{CD}, $wb); }; + if($@) { + Log 4, "Syswrite: $@, deleting $hash->{NAME}"; + TcpServer_Close($hash); + CommandDelete(undef, $hash->{NAME}); + next; + } + my $werr = int($!); alarm(0) if($hash->{ALARMTIMEOUT});