]> xenbits.xensource.com Git - osstest.git/commitdiff
cs-adjust-flight: Break out job removal machinery
authorIan Jackson <ian.jackson@eu.citrix.com>
Thu, 17 Sep 2015 12:40:53 +0000 (13:40 +0100)
committerIan Jackson <Ian.Jackson@eu.citrix.com>
Tue, 22 Sep 2015 15:34:10 +0000 (16:34 +0100)
Make @job_rm_qs a global variable (initialised idempotently by a new
function prep_rm_jobs) and $rm_job into a named global subroutine
do_rm_job.

No functional change.

Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Acked-by: Ian Campbell <ian.campbell@citrix.com>
---
v2: New patch

cs-adjust-flight

index bc66fc98a79dc28029c5a8f859e5fc57fd5c1ccb..9030e92c9fd326d69d39c3e2b8bc03990bb7cbfa 100755 (executable)
@@ -134,11 +134,25 @@ sub for_jobs ($$$;$) {
                'flight = ?', [$flight]);
 }
 
+our @job_rm_qs;
+
+sub prep_rm_jobs () {
+    return if @job_rm_qs;
+    @job_rm_qs = map { $dbh_tests->prepare($_) }
+        ("DELETE FROM runvars WHERE flight = ? AND job = ?",
+         "DELETE FROM jobs WHERE flight = ? AND job = ?");
+}
+
+sub do_rm_job ($) {
+    my ($job) = @_;
+    my $count = 0;
+    $count += $_->execute($dstflight, $job) foreach @job_rm_qs;
+    verbose "$dstflight.$job job deleted\n" if $count;
+}
+
 sub copy_jobs ($$) {
     my ($srcflight, $jobs) = @_;
-    my @job_rm_qs = map { $dbh_tests->prepare($_) }
-        ("DELETE FROM runvars WHERE flight = ? AND job = ?",
-         "DELETE FROM jobs WHERE flight = ? AND job = ?"); 
+    prep_rm_jobs();
     my @job_copy_qs = map { $dbh_tests->prepare($_) }
         ("INSERT INTO jobs".
          "     SELECT ?, job, recipe, 'queued'".
@@ -148,14 +162,8 @@ sub copy_jobs ($$) {
          "     SELECT ?, job, name, val, 'f'".
          "       FROM runvars".
          "      WHERE flight = ? AND job = ? AND NOT synth");
-    my $rm_job = sub {
-        my ($job) = @_;
-       my $count = 0;
-        $count += $_->execute($dstflight, $job) foreach @job_rm_qs;
-       verbose "$dstflight.$job job deleted\n" if $count;
-    };
-    for_jobs($dstflight, $jobs, $rm_job, 1);
-    for_jobs($srcflight, $jobs, $rm_job);
+    for_jobs($dstflight, $jobs, \&do_rm_job, 1);
+    for_jobs($srcflight, $jobs, \&do_rm_job);
     for_jobs($srcflight, $jobs, sub {
         my ($job) = @_;
         $_->execute($dstflight, $srcflight, $job) foreach @job_copy_qs;