chiark / gitweb /
bus: wrap KDBUS_CMD_BYEBYE with a high-level call sd_bus_try_close()
[elogind.git] / src / libsystemd-bus / bus-kernel.c
index 369eac468b21454a68e141e92042b8b874cd5467..2802187e70aa44e71bf718d2a7d0f7cc2e484399 100644 (file)
@@ -1266,3 +1266,13 @@ int bus_kernel_create_monitor(const char *bus) {
 
         return fd;
 }
+
+int bus_kernel_try_close(sd_bus *bus) {
+        assert(bus);
+        assert(bus->is_kernel);
+
+        if (ioctl(bus->input_fd, KDBUS_CMD_BYEBYE) < 0)
+                return -errno;
+
+        return 0;
+}