# SSL connect to server my $retry = 10; my $server = undef; while ($retry > 0) { $server = IO::Socket::SSL->new( PeerAddr => $host, PeerPort => "https", ); if ($server && $server->connected()) { print "proxy $$ connected to server\n"; last; } else { $retry--; warn "proxy $$ connect to server failed: $!,".IO::Socket::SSL::errstr(); warn "proxy $$ ".($retry ? 'will retry' : 'giving up')."\n"; } } #### proxy 4730 connect to server failed: Interrupted system call,SSL wants a read first at ./proxy line 110. proxy 4730 will retry proxy 4730 connected to server #### # uname -a Linux redacted 4.6.0-kali1-amd64 #1 SMP Debian 4.6.4-1kali1 (2016-07-21) x86_64 GNU/Linux This is perl 5, version 22, subversion 2 (v5.22.2) built for x86_64-linux-gnu-thread-multi IO::Socket::SSL 2.037 Net::SSLeay 1.77 #### DEBUG: .../IO/Socket/SSL.pm:753: done Net::SSLeay::connect -> -1 DEBUG: .../IO/Socket/SSL.pm:763: ssl handshake in progress DEBUG: ...5.22/IO/Socket.pm:48: ignoring less severe local error 'IO::Socket::IP configuration failed', keep 'SSL wants a read first' DEBUG: .../IO/Socket/SSL.pm:2777: free ctx 44390832 open=44390832 44011664 43990720 DEBUG: .../IO/Socket/SSL.pm:2782: free ctx 44390832 callback DEBUG: .../IO/Socket/SSL.pm:2789: OK free ctx 44390832 proxy 4824 connect to server failed: Interrupted system call,SSL wants a read first at ./proxy line 110.