|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
From b11a13e8ded23f26222299f9250df20178f1d760 Mon Sep 17 00:00:00 2001
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
From: Michal Schmidt <mschmidt@redhat.com>
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
Date: Wed, 28 Mar 2012 01:26:04 +0200
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
Subject: [PATCH] job: add debug prints where job type gets changed (cherry
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
picked from commit
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
bbd1a8374f90605319d0404ebb423795337161bd)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
---
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
src/job.c | 20 ++++++++++++--------
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
1 files changed, 12 insertions(+), 8 deletions(-)
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
diff --git a/src/job.c b/src/job.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
index d5d1c48..8474532 100644
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
--- a/src/job.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+++ b/src/job.c
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
@@ -355,6 +355,14 @@ bool job_is_runnable(Job *j) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
return true;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+static void job_change_type(Job *j, JobType newtype) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ log_debug("Converting job %s/%s -> %s/%s",
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ j->unit->id, job_type_to_string(j->type),
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ j->unit->id, job_type_to_string(newtype));
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ j->type = newtype;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
int job_run_and_invalidate(Job *j) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
int r;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
uint32_t id;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
@@ -389,11 +397,11 @@ int job_run_and_invalidate(Job *j) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
case JOB_RELOAD_OR_START:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
if (unit_active_state(j->unit) == UNIT_ACTIVE) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->type = JOB_RELOAD;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ job_change_type(j, JOB_RELOAD);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
r = unit_reload(j->unit);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->type = JOB_START;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ job_change_type(j, JOB_START);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
/* fall through */
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
case JOB_START:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
@@ -420,7 +428,7 @@ int job_run_and_invalidate(Job *j) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
r = -ENOEXEC;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
break;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
}
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->type = JOB_RESTART;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ job_change_type(j, JOB_RESTART);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
/* fall through */
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
case JOB_STOP:
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
@@ -516,12 +524,8 @@ int job_finish_and_invalidate(Job *j, JobResult result) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
/* Patch restart jobs so that they become normal start jobs */
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
if (result == JOB_DONE && j->type == JOB_RESTART) {
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- log_debug("Converting job %s/%s -> %s/%s",
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->unit->id, job_type_to_string(j->type),
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->unit->id, job_type_to_string(JOB_START));
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
-
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
+ job_change_type(j, JOB_START);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
j->state = JOB_WAITING;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
- j->type = JOB_START;
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
job_add_to_run_queue(j);
|
|
![](https://seccdn.libravatar.org/avatar/6a936ddf50ca7bd86008f023f0716c48c12fa2cd8f18eee59de2b069c2753bf2?s=16&d=retro) |
1a8e1d9 |
|