From 39a18c60d07319ebfcfd476556729c2cadd616d6 Mon Sep 17 00:00:00 2001 From: Michal Schmidt Date: Mon, 23 Apr 2012 01:24:04 +0200 Subject: job: serialize jobs properly Jobs were not preserved correctly over a daemon-reload operation. A systemctl process waiting for a job completion received a job removal signal. The job itself changed its id. The job timeout started ticking all over again. This fixes the deficiencies. --- src/core/unit.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/core/unit.h') diff --git a/src/core/unit.h b/src/core/unit.h index d8f4644ca9..1b777bfaab 100644 --- a/src/core/unit.h +++ b/src/core/unit.h @@ -200,7 +200,9 @@ struct Unit { unsigned gc_marker; /* When deserializing, temporarily store the job type for this - * unit here, if there was a job scheduled */ + * unit here, if there was a job scheduled. + * Only for deserializing from a legacy version. New style uses full + * serialized jobs. */ int deserialized_job; /* This is actually of type JobType */ /* Error code when we didn't manage to load the unit (negative) */ -- cgit v1.2.3-54-g00ecf