diff options
author | Jesse Luehrs <doy@tozt.net> | 2010-11-02 23:48:39 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2010-11-02 23:48:39 -0500 |
commit | 0df616f5517aae63bcd01b3147ec45b7943ddefb (patch) | |
tree | 2d63c2e22d14b51dd57777dfeb2c1756ddd33b63 /lib/App/Termcast.pm | |
parent | 706298e73d7ce7b264b50c7a5535bc0581243632 (diff) | |
download | app-termcast-0df616f5517aae63bcd01b3147ec45b7943ddefb.tar.gz app-termcast-0df616f5517aae63bcd01b3147ec45b7943ddefb.zip |
repeatedly try reconnecting, don't just die after trying once
Diffstat (limited to 'lib/App/Termcast.pm')
-rw-r--r-- | lib/App/Termcast.pm | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/App/Termcast.pm b/lib/App/Termcast.pm index df5870c..132a2b7 100644 --- a/lib/App/Termcast.pm +++ b/lib/App/Termcast.pm @@ -138,10 +138,13 @@ has socket => ( sub _build_socket { my $self = shift; - my $socket = IO::Socket::INET->new(PeerAddr => $self->host, - PeerPort => $self->port); - die "Couldn't connect to " . $self->host . ": $!" - unless $socket; + my $socket; + while (!$socket) { + $socket = IO::Socket::INET->new(PeerAddr => $self->host, + PeerPort => $self->port); + Carp::carp "Couldn't connect to " . $self->host . ": $!" + unless $socket; + } $socket->syswrite($self->establishment_message); return $socket; } |