chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
3b63d2d
)
manager: serialize/deserialize finish timestamp
author
Lennart Poettering
<lennart@poettering.net>
Mon, 18 Oct 2010 20:39:06 +0000
(22:39 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Mon, 18 Oct 2010 20:39:06 +0000
(22:39 +0200)
src/manager.c
patch
|
blob
|
history
diff --git
a/src/manager.c
b/src/manager.c
index f2ec2b72ada50e6608b84f25419bd46c90e58211..e4559ffcb85702bc949903059842d7fb70994131 100644
(file)
--- a/
src/manager.c
+++ b/
src/manager.c
@@
-2489,6
+2489,11
@@
int manager_serialize(Manager *m, FILE *f, FDSet *fds) {
(unsigned long long) m->startup_timestamp.realtime,
(unsigned long long) m->startup_timestamp.monotonic);
(unsigned long long) m->startup_timestamp.realtime,
(unsigned long long) m->startup_timestamp.monotonic);
+ if (dual_timestamp_is_set(&m->finish_timestamp))
+ fprintf(f, "finish-timestamp=%llu %llu\n\n",
+ (unsigned long long) m->finish_timestamp.realtime,
+ (unsigned long long) m->finish_timestamp.monotonic);
+
HASHMAP_FOREACH_KEY(u, t, m->units, i) {
if (u->meta.id != t)
continue;
HASHMAP_FOREACH_KEY(u, t, m->units, i) {
if (u->meta.id != t)
continue;
@@
-2547,6
+2552,15
@@
int manager_deserialize(Manager *m, FILE *f, FDSet *fds) {
m->startup_timestamp.realtime = a;
m->startup_timestamp.monotonic = b;
}
m->startup_timestamp.realtime = a;
m->startup_timestamp.monotonic = b;
}
+ } else if (startswith(l, "finish-timestamp=")) {
+ unsigned long long a, b;
+
+ if (sscanf(l+18, "%lli %llu", &a, &b) != 2)
+ log_debug("Failed to parse finish timestamp value %s", l+18);
+ else {
+ m->finish_timestamp.realtime = a;
+ m->finish_timestamp.monotonic = b;
+ }
} else
log_debug("Unknown serialization item '%s'", l);
}
} else
log_debug("Unknown serialization item '%s'", l);
}