diff --git a/modules/database/src/tools/EPICS/IOC.pm b/modules/database/src/tools/EPICS/IOC.pm index 9eae9d4fd..1cdae3d14 100644 --- a/modules/database/src/tools/EPICS/IOC.pm +++ b/modules/database/src/tools/EPICS/IOC.pm @@ -266,7 +266,8 @@ sub _geterrors { my @errors; while ($self->{select}->can_read(0.01)) { - sysread $self->{stderr}, my $errbuf, 1024; + my $n = sysread $self->{stderr}, my $errbuf, 1024; + return @errors unless $n; # $n is 0 on EOF push @errors, split m/\n/, $self->{errbuf} . $errbuf, -1; last unless @errors; $self->{errbuf} = pop @errors;