diff options
author | Kay Sievers <kay@vrfy.org> | 2013-12-08 19:23:12 +0100 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2013-12-08 19:23:12 +0100 |
commit | 00e8477cc7cd53a152b201ac4c3b087e5c683eb0 (patch) | |
tree | 5635eb980c1421993722903b3a8265557eed72e2 /bus.c | |
parent | cca132d976ec0fb285808b5886d5f9b666266392 (diff) | |
download | kdbus-bus-00e8477cc7cd53a152b201ac4c3b087e5c683eb0.tar.gz kdbus-bus-00e8477cc7cd53a152b201ac4c3b087e5c683eb0.tar.bz2 kdbus-bus-00e8477cc7cd53a152b201ac4c3b087e5c683eb0.zip |
return NULL from *_unref()
This allows invalidation of a ref in one line:
ref = foo_unref(ref);
Diffstat (limited to 'bus.c')
-rw-r--r-- | bus.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -69,10 +69,16 @@ static void __kdbus_bus_free(struct kref *kref) * * Release a reference. If the reference count drops to 0, the bus will be * freed. + * + * Returns: NULL */ -void kdbus_bus_unref(struct kdbus_bus *bus) +struct kdbus_bus *kdbus_bus_unref(struct kdbus_bus *bus) { + if (!bus) + return NULL; + kref_put(&bus->kref, __kdbus_bus_free); + return NULL; } /** |