]> mj.ucw.cz Git - moe.git/blobdiff - submit/MO/Submit.pm
Changed buffer flushing to explicit in a vain attempt to hunt down problems
[moe.git] / submit / MO / Submit.pm
index f85852cfb008f3a2aeb4dd7eb4d4e6b7072efd50..e571be3706ca8ee8f39c4faec7f25ae63bbbccc7 100644 (file)
@@ -23,8 +23,10 @@ sub new($) {
                "Cert" => "$mo/cert.pem",
                "CACert" => "$mo/ca-cert.pem",
                "Trace" => defined $ENV{"MO_SUBMIT_TRACE"},
-               "History" => "$home/.history",  # Keep submission history in this directory
-               "RefreshTimer" => 5000,         # How often GUI sends STATUS commands [ms]
+               "Checks" => 1,
+#              "History" => "$home/.history",  # Keep submission history in this directory
+               "RefreshTimer" => 60000,        # How often GUI sends STATUS commands [ms]
+               "root" => $root,
                "user" => $user,
                "sk" => undef,
                "error" => undef,
@@ -66,6 +68,7 @@ sub disconnect($) {
 sub connect($) {
        my $self = shift @_;
        $self->disconnect;
+
        $self->log("Connecting to submit server");
        my $sk = new IO::Socket::INET(
                PeerAddr => $self->{"Server"},
@@ -104,6 +107,7 @@ sub connect($) {
                }
        }
        $self->{"sk"} = $sk;
+       $sk->autoflush(0);
 
        $self->log("Logging in");
        my $req = new Sherlock::Object("U" => $self->{"user"});
@@ -121,12 +125,14 @@ sub connect($) {
 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;
 }