+ # shoudl trap: Magic number checking on storable file failed at blib/lib/Storable.pm (autosplit into blib/lib/auto/Storable/fd_retrieve.al) line 337, at /usr/local/share/perl/5.6.1/FS/SelfService.pm line 71
+ # block until there is a message on socket
+ # my $w = new IO::Select;
+ # $w->add(\*SOCK);
+ # my @wait = $w->can_read;
+
+ warn "reading message from server"
+ if $DEBUG;
+
+ $return = fd_retrieve(\*SOCK) or die "error reading result: $!";
+ die $return->{'_error'} if defined $return->{_error} && $return->{_error};
+
+ warn "returning message to client"
+ if $DEBUG;
+
+ return $return;
+ };
+
+ return $return
+ unless $@;
+
+ die "(Attempt $try) $@"
+ if $try == $max_retry;
+
+ warn "(Attempt $try) $@"
+ if $DEBUG;
+
+ Time::HiRes::sleep(0.2);
+ }