1
0
mirror of https://github.com/systemd/systemd.git synced 2025-01-11 09:18:07 +03:00

bus: when we _unref() a NULL pointer, don't use assert_return()

We support unreffing NULL pointers just fine and we shouldn't pay the
_unlikely_() price for it, not get a debug message if we do, hence let's
not use assert_return() here.
This commit is contained in:
Lennart Poettering 2013-12-10 20:38:04 +00:00
parent c8fa3f6030
commit 5b1bc83f81
4 changed files with 15 additions and 5 deletions

View File

@ -72,7 +72,9 @@ _public_ sd_bus_creds *sd_bus_creds_ref(sd_bus_creds *c) {
}
_public_ sd_bus_creds *sd_bus_creds_unref(sd_bus_creds *c) {
assert_return(c, NULL);
if (!c)
return NULL;
if (c->allocated) {
assert(c->n_ref > 0);

View File

@ -791,7 +791,9 @@ _public_ sd_bus_message* sd_bus_message_ref(sd_bus_message *m) {
}
_public_ sd_bus_message* sd_bus_message_unref(sd_bus_message *m) {
assert_return(m, NULL);
if (!m)
return NULL;
assert(m->n_ref > 0);
m->n_ref--;

View File

@ -1214,7 +1214,9 @@ _public_ sd_bus *sd_bus_ref(sd_bus *bus) {
}
_public_ sd_bus *sd_bus_unref(sd_bus *bus) {
assert_return(bus, NULL);
if (!bus)
return NULL;
if (REFCNT_DEC(bus->n_ref) <= 0)
bus_free(bus);

View File

@ -384,7 +384,9 @@ _public_ sd_event* sd_event_ref(sd_event *e) {
}
_public_ sd_event* sd_event_unref(sd_event *e) {
assert_return(e, NULL);
if (!e)
return NULL;
assert(e->n_ref >= 1);
e->n_ref--;
@ -973,7 +975,9 @@ _public_ sd_event_source* sd_event_source_ref(sd_event_source *s) {
}
_public_ sd_event_source* sd_event_source_unref(sd_event_source *s) {
assert_return(s, NULL);
if (!s)
return NULL;
assert(s->n_ref >= 1);
s->n_ref--;