X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=job.c;h=2f7912d262439d46f4668eb9566802345ff2f485;hp=2cf8be5330687bb8c18bbd9d03ac30269e3efa6f;hb=f00b3eda2f92b2dcd13c50749ec5e7fce6720b52;hpb=42f4e3c4413ad35e3815f25211fee95d775488a7 diff --git a/job.c b/job.c index 2cf8be533..2f7912d26 100644 --- a/job.c +++ b/job.c @@ -25,31 +25,14 @@ Job* job_new(Manager *m, JobType type, Name *name) { return j; } -int job_link(Job *j) { - int r; - - assert(j); - assert(!j->linked); - - if ((r = hashmap_put(j->manager->jobs, UINT32_TO_PTR(j->id), j)) < 0) - return r; - - j->name->meta.job = j; - - j->linked = true; - - return 0; -} - void job_free(Job *j) { assert(j); /* Detach from next 'bigger' objects */ if (j->linked) { - assert(j->name); - assert(j->name->meta.job == j); - j->name->meta.job = NULL; + if (j->name->meta.job == j) + j->name->meta.job = NULL; hashmap_remove(j->manager->jobs, UINT32_TO_PTR(j->id)); } @@ -82,7 +65,7 @@ void job_dump(Job *j, FILE*f) { assert(j); assert(f); - fprintf(f, "Job %u (%s) →%s in state %s\n", + fprintf(f, "Job %u (%s) → %s in state %s\n", j->id, name_id(j->name), job_type_table[j->type],