cd /usr/lib/perl5/site_perl/5.6.0/HTTP/Daemon diff SSL.pm.orig SSL.pm 172,173c172,195 < my $n = sysread($self, $_[0], 2048, length($_[0])); < print STDERR sprintf("sysread() just \$n=%s\n",(defined $n?$n:'undef')) if $DEBUG; --- >################################################################# >##################### Patch starts here ######################### > my ($x,$n); > my $lent=1; > while($lent<=2048) > { > eval { > local $SIG{ALRM} = sub{die "alarm\n"}; > alarm(1); > $n = sysread($self,$x,1); > alarm(0); > $_[0] = "$_[0]"."$x"; > $lent++; > }; > if($@) > { > > last; > } > } > $n=$lent; >##################### Patch ends here ######################### >################################################################# > print STDERR sprintf("sysread() just \$n=%s\n",(defined $n?$n:'undef')) if $DEBUG;