chiark / gitweb /
bus: in sd_bus_try_close() consider local read queue too
[elogind.git] / src / libsystemd-bus / sd-bus.c
index a39495541b64bf9327a848e5018216c007e37d9e..6e4406857326e3f66dc3693817b4a3def0e771be 100644 (file)
@@ -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;