From bd746b8b0ce91be3f28532d319ffa577590f52d8 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sat, 21 Dec 2013 03:46:26 +0100 Subject: bus: in sd_bus_try_close() consider local read queue too --- src/libsystemd-bus/sd-bus.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/libsystemd-bus') diff --git a/src/libsystemd-bus/sd-bus.c b/src/libsystemd-bus/sd-bus.c index a39495541b..6e44068573 100644 --- a/src/libsystemd-bus/sd-bus.c +++ b/src/libsystemd-bus/sd-bus.c @@ -2965,6 +2965,9 @@ _public_ int sd_bus_try_close(sd_bus *bus) { assert_return(!bus_pid_changed(bus), -ECHILD); assert_return(bus->is_kernel, -ENOTSUP); + if (bus->rqueue_size > 0) + return -EBUSY; + r = bus_kernel_try_close(bus); if (r < 0) return r; -- cgit v1.2.3-54-g00ecf