diff --git a/src/libsystemd/sd-varlink/sd-varlink.c b/src/libsystemd/sd-varlink/sd-varlink.c index faa56d9d3a..1217d1f7cf 100644 --- a/src/libsystemd/sd-varlink/sd-varlink.c +++ b/src/libsystemd/sd-varlink/sd-varlink.c @@ -2000,7 +2000,7 @@ _public_ int sd_varlink_flush(sd_varlink *v) { return varlink_log_errno(v, SYNTHETIC_ERRNO(ENOTCONN), "Not connected."); for (;;) { - if (v->output_buffer_size == 0) + if (v->output_buffer_size == 0 && !v->output_queue) break; if (v->write_disconnected) return -ECONNRESET;