summaryrefslogtreecommitdiff
path: root/FS/bin/freeside-selfservice-server
diff options
context:
space:
mode:
authorivan <ivan>2003-11-14 08:43:24 +0000
committerivan <ivan>2003-11-14 08:43:24 +0000
commit17b3560111539da506f7f6bb575dd3776375466f (patch)
tree18b2ff9084ad3b6aac3f672094defaed2361d00c /FS/bin/freeside-selfservice-server
parent948d16c8038c5976c71a32b00a1ff3f46f97262e (diff)
hopefully recover better from lost ssh connections
Diffstat (limited to 'FS/bin/freeside-selfservice-server')
-rw-r--r--FS/bin/freeside-selfservice-server11
1 files changed, 10 insertions, 1 deletions
diff --git a/FS/bin/freeside-selfservice-server b/FS/bin/freeside-selfservice-server
index 05fa72b43..d2358e33c 100644
--- a/FS/bin/freeside-selfservice-server
+++ b/FS/bin/freeside-selfservice-server
@@ -74,7 +74,13 @@ while (1) {
warn "receiving packet from client\n" if $Debug;
- my $packet = fd_retrieve($reader);
+ my $packet = eval { fd_retrieve($reader); };
+ if ( $@ ) {
+ warn "Storable error receiving packet from client".
+ " (assuming lost connection): $@\n"
+ if $Debug;
+ last;
+ }
warn "packet received\n".
join('', map { " $_=>$packet->{$_}\n" } keys %$packet )
if $Debug > 1;
@@ -120,6 +126,9 @@ while (1) {
}
+ warn "connection lost, reconnecting\n" if $Debug;
+ sleep 3;
+
}
###