X-Git-Url: https://git.sommitrealweird.co.uk/twirssi-net-twitter-lite.git/blobdiff_plain/4b6615e5529cc1b441426817dab72f2b4308d046..e7f88ffa156056068113ba9db9cc67cf9e41dd5f:/twirssi.pl diff --git a/twirssi.pl b/twirssi.pl index 1263893..92f60b6 100644 --- a/twirssi.pl +++ b/twirssi.pl @@ -38,6 +38,7 @@ my %tweet_cache; my %id_map; my $failwhale = 0; my $first_call = 1; +my $child_pid; my %irssi_to_mirc_colors = ( '%k' => '01', @@ -549,6 +550,13 @@ sub cmd_login { return 1; } else { ¬ice("Login failed"); + if ( not Irssi::settings_get_bool("twirssi_avoid_ssl") ) { + ¬ice( + "It's possible you're missing one of the modules required for " + . "SSL logins. Try setting twirssi_avoid_ssl to on. See " + . "http://cpansearch.perl.org/src/GAAS/libwww-perl-5.831/README.SSL " + . "for the detailed requirements." ); + } } } @@ -776,13 +784,13 @@ sub get_updates { my ( $fh, $filename ) = File::Temp::tempfile(); binmode( $fh, ":utf8" ); - my $pid = fork(); + $child_pid = fork(); - if ($pid) { # parent + if ($child_pid) { # parent Irssi::timeout_add_once( 5000, 'monitor_child', [ "$filename.done", 0 ] ); - Irssi::pidwait_add($pid); - } elsif ( defined $pid ) { # child + Irssi::pidwait_add($child_pid); + } elsif ( defined $child_pid ) { # child close STDIN; close STDOUT; close STDERR; @@ -1223,6 +1231,9 @@ sub monitor_child { } $last_poll = $new_last_poll; + # make sure the pid is removed from the waitpid list + Irssi::pidwait_remove($child_pid); + # save id_map hash if ( keys %id_map and my $file =