chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
main: never reset console unless pid=1, to make sure that we don't kill X when somebo...
[elogind.git]
/
job.c
diff --git
a/job.c
b/job.c
index 0e03fcdc77b4a943f9eec90259f75f3e99ea11c8..f35c91c4df28aa4e75707e7f4533d3dfebb94b4a 100644
(file)
--- a/
job.c
+++ b/
job.c
@@
-29,6
+29,7
@@
#include "load-fragment.h"
#include "load-dropin.h"
#include "log.h"
#include "load-fragment.h"
#include "load-dropin.h"
#include "log.h"
+#include "dbus-job.h"
Job* job_new(Manager *m, JobType type, Unit *unit) {
Job *j;
Job* job_new(Manager *m, JobType type, Unit *unit) {
Job *j;
@@
-57,8
+58,10
@@
void job_free(Job *j) {
if (j->installed) {
bus_job_send_removed_signal(j);
if (j->installed) {
bus_job_send_removed_signal(j);
- if (j->unit->meta.job == j)
+ if (j->unit->meta.job == j)
{
j->unit->meta.job = NULL;
j->unit->meta.job = NULL;
+ unit_add_to_gc_queue(j->unit);
+ }
hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id));
j->installed = false;
hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id));
j->installed = false;
@@
-574,7
+577,8
@@
DEFINE_STRING_TABLE_LOOKUP(job_type, JobType);
static const char* const job_mode_table[_JOB_MODE_MAX] = {
[JOB_FAIL] = "fail",
static const char* const job_mode_table[_JOB_MODE_MAX] = {
[JOB_FAIL] = "fail",
- [JOB_REPLACE] = "replace"
+ [JOB_REPLACE] = "replace",
+ [JOB_ISOLATE] = "isolate"
};
DEFINE_STRING_TABLE_LOOKUP(job_mode, JobMode);
};
DEFINE_STRING_TABLE_LOOKUP(job_mode, JobMode);