Mercurial > hg > nginx-tests
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); |