From 1f2f874c3c0e0f4cee7688ee59e2fde669626bc3 Mon Sep 17 00:00:00 2001 From: Nicolas Cornu Date: Wed, 21 Oct 2015 18:17:12 +0200 Subject: [PATCH] core dbus: Check that flush works with memstream --- src/core/dbus-cgroup.c | 12 +++++++++--- src/core/dbus-service.c | 4 +++- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/core/dbus-cgroup.c b/src/core/dbus-cgroup.c index f334dc928dd..affb9973041 100644 --- a/src/core/dbus-cgroup.c +++ b/src/core/dbus-cgroup.c @@ -421,7 +421,9 @@ int bus_cgroup_set_property( fprintf(f, "BlockIOWriteBandwidth=%s %" PRIu64 "\n", a->path, a->bandwidth); } - fflush(f); + r = fflush_and_check(f); + if (r < 0) + return r; unit_write_drop_in_private(u, mode, name, buf); } @@ -495,7 +497,9 @@ int bus_cgroup_set_property( LIST_FOREACH(device_weights, a, c->blockio_device_weights) fprintf(f, "BlockIODeviceWeight=%s %" PRIu64 "\n", a->path, a->weight); - fflush(f); + r = fflush_and_check(f); + if (r < 0) + return r; unit_write_drop_in_private(u, mode, name, buf); } @@ -640,7 +644,9 @@ int bus_cgroup_set_property( LIST_FOREACH(device_allow, a, c->device_allow) fprintf(f, "DeviceAllow=%s %s%s%s\n", a->path, a->r ? "r" : "", a->w ? "w" : "", a->m ? "m" : ""); - fflush(f); + r = fflush_and_check(f); + if (r < 0) + return r; unit_write_drop_in_private(u, mode, name, buf); } diff --git a/src/core/dbus-service.c b/src/core/dbus-service.c index b636f8ba6a4..fe2a4a3b377 100644 --- a/src/core/dbus-service.c +++ b/src/core/dbus-service.c @@ -243,7 +243,9 @@ static int bus_service_set_transient_property( a); } - fflush(f); + r = fflush_and_check(f); + if (r < 0) + return r; unit_write_drop_in_private(UNIT(s), mode, name, buf); }