aboutsummaryrefslogtreecommitdiff
path: root/mod/mod-build-task.cxx
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2023-07-28 17:32:28 +0300
committerKaren Arutyunov <karen@codesynthesis.com>2023-07-28 17:32:28 +0300
commitdfc0fb1cb888f7ba71bf84717e182d267a78261d (patch)
tree5f2de871535694f54b967a77c0db4478967c4e14 /mod/mod-build-task.cxx
parentffbf47999152650f11a652ed0ff80e649cca4770 (diff)
Fix task request handler which could potentially issue unexpected rebuild task
Diffstat (limited to 'mod/mod-build-task.cxx')
-rw-r--r--mod/mod-build-task.cxx8
1 files changed, 7 insertions, 1 deletions
diff --git a/mod/mod-build-task.cxx b/mod/mod-build-task.cxx
index 390fe8e..20a3518 100644
--- a/mod/mod-build-task.cxx
+++ b/mod/mod-build-task.cxx
@@ -1543,7 +1543,13 @@ handle (request& rq, response& rs)
t.commit ();
}
- catch (const odb::deadlock&) {} // Just try with the next rebuild.
+ catch (const odb::deadlock&)
+ {
+ // Just try with the next rebuild. But first, reset the task
+ // response manifest that we may have prepared.
+ //
+ tsm = task_response_manifest ();
+ }
// If the task response manifest is prepared, then bail out from the
// package configuration rebuilds loop and respond.