X-Git-Url: https://git.sommitrealweird.co.uk/twirssi-net-twitter-lite.git/blobdiff_plain/4b6615e5529cc1b441426817dab72f2b4308d046..d1284e4f0c4dfa4a5e33708c1a6f75caf57786b8:/twirssi.pl diff --git a/twirssi.pl b/twirssi.pl index 1263893..1d24b86 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', @@ -512,6 +513,15 @@ sub cmd_login { unless ( $twit->verify_credentials() ) { ¬ice("Login as $user\@$service 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." ); + } + $twit = undef; if ( keys %twits ) { &cmd_switch( ( keys %twits )[0], $server, $win ); @@ -537,12 +547,6 @@ sub cmd_login { ¬ice( "loaded friends: ", scalar keys %friends ); if ( Irssi::settings_get_bool("twirssi_first_run") ) { Irssi::settings_set_bool( "twirssi_first_run", 0 ); - unless ( exists $friends{twirssi} ) { - ¬ice("Welcome to twirssi!" - . " Perhaps you should add \@twirssi to your friends list," - . " so you can be notified when a new version is release?" - . " Just type /twitter_follow twirssi." ); - } } %nicks = %friends; $nicks{$user} = 0; @@ -776,13 +780,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 +1227,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 =