comparison stream_ssl_certificate.t @ 1637:da52525f49d1

Tests: avoid ssl_certificate.t hang on SIGPIPE. It could stuck in SSL shutdown after abrupt connection termination by nginx. A similar change is applied to stream_ssl_certificate.t for consistency.
author Sergey Kandaurov <pluknet@nginx.com>
date Tue, 29 Dec 2020 20:21:18 +0300
parents fd440d324700
children 74cffa9d4c43
comparison
equal deleted inserted replaced
1636:2d371452658c 1637:da52525f49d1
173 ############################################################################### 173 ###############################################################################
174 174
175 sub get { 175 sub get {
176 my ($host, $port, $ctx) = @_; 176 my ($host, $port, $ctx) = @_;
177 my ($s, $ssl) = get_ssl_socket($host, $port, $ctx) or return; 177 my ($s, $ssl) = get_ssl_socket($host, $port, $ctx) or return;
178
179 local $SIG{PIPE} = 'IGNORE';
180
178 my $r = Net::SSLeay::read($ssl); 181 my $r = Net::SSLeay::read($ssl);
179 Net::SSLeay::shutdown($ssl); 182 Net::SSLeay::shutdown($ssl);
180 $s->close(); 183 $s->close();
181 return $r unless wantarray(); 184 return $r unless wantarray();
182 return ($s, $ssl); 185 return ($s, $ssl);