sd_bus_open/sd_bus_open_system/sd_bus_open_user are convenient, but
don't allow the description to be set. After they return, the bus is
is already started, and sd_bus_set_description() fails with -EBUSY.
It would be possible to allow sd_bus_set_description() to update the
description "live", but messages are already emitted from sd_bus_open
functions, so it's better to allow the description to be set in
sd_bus_open/sd_bus_open_system/sd_bus_open_user.
Fixes message like:
Bus n/a: changing state UNSET → OPENING
/* Insert at the very front */
memmove(bus->rqueue + 1, bus->rqueue, sizeof(sd_bus_message*) * bus->rqueue_size);
- bus->rqueue[0] = TAKE_PTR(m);
+ bus->rqueue[0] = m;
+ m = NULL;
bus->rqueue_size++;
return 0;
if (r < 0)
return r;
- *ret = TAKE_PTR(m);
-
+ *ret = m;
+ m = NULL;
return 1;
}
bus->exit_triggered = true;
(void) bus_exit_now(bus);
- if (ret)
- *ret = TAKE_PTR(m);
+ if (ret) {
+ *ret = m;
+ m = NULL;
+ }
r = 1;