From c34bb3f6e79ae4b8ad58e5f5cf24d632e305457c Mon Sep 17 00:00:00 2001 From: rudolfkoenig <> Date: Sun, 6 Feb 2022 11:54:10 +0000 Subject: [PATCH] DevIo.pm: fix nonblocking SSL connections (Forum #126011) git-svn-id: https://svn.fhem.de/fhem/trunk@25636 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/DevIo.pm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/fhem/FHEM/DevIo.pm b/fhem/FHEM/DevIo.pm index f64234e4d..93428600b 100644 --- a/fhem/FHEM/DevIo.pm +++ b/fhem/FHEM/DevIo.pm @@ -79,6 +79,13 @@ DevIo_SimpleRead($) my ($hash) = @_; my $buf = DevIo_DoSimpleRead($hash); + if(length($buf) == 0 && $! == EWOULDBLOCK && $hash->{SSL} && $hash->{TCPDev}) { + my $es = $hash->{TCPDev}->errstr; + $hash->{wantWrite} = 1 if($es == &IO::Socket::SSL::SSL_WANT_WRITE); + $hash->{wantRead} = 1 if($es == &IO::Socket::SSL::SSL_WANT_READ); + return ""; + } + ########### # Lets' try again: Some drivers return len(0) on the first read... if(defined($buf) && length($buf) == 0) {