- contest: override failed check
- contest: local history
- contest: task status cache
+- contest: problems with SIGPIPE
Various ideas:
scores dependent on time (like PL olympiad)
sub connect($) {
my $self = shift @_;
$self->disconnect;
+
$self->log("Connecting to submit server");
my $sk = new IO::Socket::INET(
PeerAddr => $self->{"Server"},
}
}
$self->{"sk"} = $sk;
+ $sk->autoflush(0);
$self->log("Logging in");
my $req = new Sherlock::Object("U" => $self->{"user"});
sub request($$) {
my ($self, $obj) = @_;
my $sk = $self->{"sk"};
- $obj->write($sk); ### FIXME: Flushing
+ ## $SIG{'PIPE'} = 'ignore';
+ $obj->write($sk);
+ print $sk "\n";
+ $sk->flush();
if ($sk->error) {
$self->err("Connection broken");
return undef;
}
- print $sk "\n";
return $self->reply;
}