chiark / gitweb /
Prep v220: Use new cgroups functions
[elogind.git] / src / libelogind / sd-bus / sd-bus.c
index 57c09d9cb3ac9e71887870873af9fca31ddd4a46..87263b74f24ae290246a0c0e7b997f46ba435838 100644 (file)
@@ -1236,18 +1236,9 @@ int bus_set_address_user(sd_bus *b) {
                 if (!ee)
                         return -ENOMEM;
 
-#ifdef ENABLE_KDBUS
                 (void) asprintf(&b->address, KERNEL_USER_BUS_ADDRESS_FMT ";" UNIX_USER_BUS_ADDRESS_FMT, getuid(), ee);
-#else
-                (void) asprintf(&b->address, UNIX_USER_BUS_ADDRESS_FMT, ee);
-#endif
-        } else {
-#ifdef ENABLE_KDBUS
+        } else
                 (void) asprintf(&b->address, KERNEL_USER_BUS_ADDRESS_FMT, getuid());
-#else
-                return -ECONNREFUSED;
-#endif
-        }
 
         if (!b->address)
                 return -ENOMEM;
@@ -1369,11 +1360,7 @@ int bus_set_address_system_machine(sd_bus *b, const char *machine) {
         if (!e)
                 return -ENOMEM;
 
-#ifdef ENABLE_KDBUS
         b->address = strjoin("x-machine-kernel:machine=", e, ";x-machine-unix:machine=", e, NULL);
-#else
-        b->address = strjoin("x-machine-unix:machine=", e, NULL);
-#endif
         if (!b->address)
                 return -ENOMEM;
 
@@ -1438,6 +1425,17 @@ _public_ void sd_bus_close(sd_bus *bus) {
          * ioctl on the fd when they are freed. */
 }
 
+_public_ sd_bus* sd_bus_flush_close_unref(sd_bus *bus) {
+
+        if (!bus)
+                return NULL;
+
+        sd_bus_flush(bus);
+        sd_bus_close(bus);
+
+        return sd_bus_unref(bus);
+}
+
 static void bus_enter_closing(sd_bus *bus) {
         assert(bus);
 
@@ -2955,10 +2953,8 @@ _public_ int sd_bus_add_match(
 
                 /* Do not install server-side matches for matches
                  * against the local service, interface or bus
-                 * path. Also, when on kdbus don't install driver
-                 * matches server side. */
-                if (scope == BUS_MATCH_GENERIC ||
-                    (!bus->is_kernel && scope == BUS_MATCH_DRIVER)) {
+                 * path. */
+                if (scope != BUS_MATCH_LOCAL) {
 
                         if (!bus->is_kernel) {
                                 /* When this is not a kernel transport, we