diff options
Diffstat (limited to 'src/libelogind/sd-bus/bus-internal.h')
-rw-r--r-- | src/libelogind/sd-bus/bus-internal.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libelogind/sd-bus/bus-internal.h b/src/libelogind/sd-bus/bus-internal.h index 69a207739..8f3460ce2 100644 --- a/src/libelogind/sd-bus/bus-internal.h +++ b/src/libelogind/sd-bus/bus-internal.h @@ -128,7 +128,15 @@ struct sd_bus_slot { sd_bus *bus; void *userdata; BusSlotType type:5; + + /* Slots can be "floating" or not. If they are not floating (the usual case) then they reference the bus object + * they are associated with. This means the bus object stays allocated at least as long as there is a slot + * around associated with it. If it is floating, then the slot's lifecycle is bound to the lifecycle of the + * bus: it will be disconnected from the bus when the bus is destroyed, and it keeping the slot reffed hence + * won't mean the bus stays reffed too. Internally this means the reference direction is reversed: floating + * slots objects are referenced by the bus object, and not vice versa. */ bool floating:1; + bool match_added:1; char *description; |