summaryrefslogtreecommitdiff
path: root/src/libsystemd/sd-bus/test-bus-gvariant.c
diff options
context:
space:
mode:
authorDavid Herrmann <dh.herrmann@gmail.com>2014-03-22 18:06:38 +0100
committerDavid Herrmann <dh.herrmann@gmail.com>2014-03-22 18:06:38 +0100
commiteb33a6f858c2cd39dcf9c2f39514c9f83ed040fe (patch)
tree6bf4d80d8f66d252574407de3b10af7011f42378 /src/libsystemd/sd-bus/test-bus-gvariant.c
parent22fdeadcc06e95fe41ac4de872ec245c0887547f (diff)
sd-bus: add note about sd_bus_unref() recursion
In sd_bus_unref() we check for self-reference loops and destruct our queues in case we're the only reference holders. However, we do _not_ modify our own ref-count, thus effectively causing the message-destructions to enter with the same reference count as we did. The only reason this doesn't cause an endless recursion (or trigger assert(m->n_ref > 0) in sd_bus_message_unref()) is the fact that we decrease queue-counters _before_ calling _unref(). That's not obvious at all, so add a big fat note in bus_reset_queues() to everyone touching that code.
Diffstat (limited to 'src/libsystemd/sd-bus/test-bus-gvariant.c')
0 files changed, 0 insertions, 0 deletions