sub run_ssl { my $heartbeat; my $parent_msg; my $sub = 'run_ssl()'; my $test; my $mesg; my $flags = ''; my $sock; my $client_socket; my $sel; my $ext_mesg; my $peer_ref; my $answer; #$sock = IO::Socket::SSL->new( # LocalAddr => $ssl_addr, # LocalPort => $ssl_port, # Listen => 5, # Reuse => 1, # Proto => 'tcp', # SSL_cert_file => 'server.crt', # SSL_key_file => 'server.key', #) || die "Can't bind TCP SSL port"; $sock = new IO::Socket::INET ( LocalHost => $ssl_addr, LocalPort => $ssl_port, Proto => 'tcp', Listen => 5, Reuse => 1, # Timeout => 1, ); if ( defined $sock ) { dbg( "${sub}: (Re-)Started SSL Socket Process" ); } else { dbg( "${sub}: IO::Socket::INET->new: $!" ); } $sock->timeout( 1 ); $sel = IO::Select->new( $sock ); $flags = fcntl( $from_parent_ssl, F_GETFL, 0 ) or die( "${sub}: Could not get flags for \$from_parent_ssl: $!\n" ); fcntl( $from_parent_ssl, F_SETFL, $flags | O_NONBLOCK ) or die( "${sub}: Could not set flags for \$from_parent_ssl: $!\n" ); if ( ! defined ( $pid = fork() ) ) { die( "${sub}: $@\n" ) } return $pid if ( $pid ); tie( $peer_ref, 'IPC::Shareable', 'glue', \%shareable_opts );