X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fjob.c;h=78fe136328500a4ab29af7c438966112a394d8da;hp=887de92cadf88eb70033ff665e6be829b421b513;hb=2f02ce4005075ac76742ed6a2189cc2e5fc6a192;hpb=e99e38bbdcca3fe5956823bdb3d38544ccf93221 diff --git a/src/job.c b/src/job.c index 887de92ca..78fe13632 100644 --- a/src/job.c +++ b/src/job.c @@ -56,7 +56,7 @@ void job_free(Job *j) { /* Detach from next 'bigger' objects */ if (j->installed) { - bus_job_send_removed_signal(j); + bus_job_send_removed_signal(j, !j->failed); if (j->unit->meta.job == j) { j->unit->meta.job = NULL; @@ -144,11 +144,12 @@ void job_dependency_delete(Job *subject, Job *object, bool *matters) { } void job_dump(Job *j, FILE*f, const char *prefix) { - - assert(j); assert(f); + if (!prefix) + prefix = ""; + fprintf(f, "%s-> Job %u:\n" "%s\tAction: %s -> %s\n" @@ -475,6 +476,7 @@ int job_finish_and_invalidate(Job *j, bool success) { return 0; } + j->failed = !success; u = j->unit; t = j->type; job_free(j);