#! /usr/bin/env perl
##**************************************************************
##
## Copyright (C) 1990-2007, Condor Team, Computer Sciences Department,
## University of Wisconsin-Madison, WI.
## 
## Licensed under the Apache License, Version 2.0 (the "License"); you
## may not use this file except in compliance with the License.  You may
## obtain a copy of the License at
## 
##    http://www.apache.org/licenses/LICENSE-2.0
## 
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
##**************************************************************



my $arg = $ARGV[0];

my $LogFile = "prioritylog" . $arg . ".log";

open(OLDOUT, ">&STDOUT");
open(OLDERR, ">&STDERR");
open(STDOUT, ">$LogFile") or die "Could not open $LogFile: $!";
open(STDERR, ">&STDOUT");
select(STDERR); $| = 1;
select(STDOUT); $| = 1;

# make it run long enough to remove overhead variance
# from matching to running

# run script cuts in a pip unigue socket the server is listening on.
verbose_system("./x_general_client.pl priority $arg");
sleep 40;

sub verbose_system
{

my @args = @_;
my $rc = 0xffff & system @args;

printf "system(%s) returned %#04x: ", @args, $rc;

    if ($rc == 0)
    {
        print "ran with normal exit\n";
        return $rc;
    }
    elsif ($rc == 0xff00)
    {
        print "command failed: $!\n";
        return $rc;
    }
    elsif (($rc & 0xff) == 0)
    {
        $rc >>= 8;
        print "ran with non-zero exit status $rc\n";
        return $rc;
    }
    else
    {
        print "ran with ";
        if ($rc &   0x80)
        {
            $rc &= ~0x80;
            print "coredump from ";
            return $rc;
        }
        print "signal $rc\n"
    }
}
