chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5b36511
)
sd-bus: add bus_freep and use _cleanup_
author
Zbigniew Jędrzejewski-Szmek
<zbyszek@in.waw.pl>
Wed, 9 May 2018 07:44:37 +0000
(09:44 +0200)
committer
Sven Eden
<yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000
(16:47 +0200)
src/libelogind/sd-bus/sd-bus.c
patch
|
blob
|
history
diff --git
a/src/libelogind/sd-bus/sd-bus.c
b/src/libelogind/sd-bus/sd-bus.c
index d1b50bbfa40ac4d1565334fa5ceadd19a0015965..2189331965b6b54217d5cd8dc8804562507e28ec 100644
(file)
--- a/
src/libelogind/sd-bus/sd-bus.c
+++ b/
src/libelogind/sd-bus/sd-bus.c
@@
-166,7
+166,7
@@
static void bus_reset_queues(sd_bus *b) {
b->wqueue_allocated = 0;
}
b->wqueue_allocated = 0;
}
-static
void
bus_free(sd_bus *b) {
+static
sd_bus*
bus_free(sd_bus *b) {
sd_bus_slot *s;
assert(b);
sd_bus_slot *s;
assert(b);
@@
-231,9
+231,11
@@
static void bus_free(sd_bus *b) {
assert_se(pthread_mutex_destroy(&b->memfd_cache_mutex) == 0);
assert_se(pthread_mutex_destroy(&b->memfd_cache_mutex) == 0);
- free(b);
+
return m
free(b);
}
}
+DEFINE_TRIVIAL_CLEANUP_FUNC(sd_bus*, bus_free);
+
_public_ int sd_bus_new(sd_bus **ret) {
_cleanup_free_ sd_bus *b = NULL;
_public_ int sd_bus_new(sd_bus **ret) {
_cleanup_free_ sd_bus *b = NULL;
@@
-1205,7
+1207,7
@@
_public_ int sd_bus_start(sd_bus *bus) {
_public_ int sd_bus_open_with_description(sd_bus **ret, const char *description) {
const char *e;
_public_ int sd_bus_open_with_description(sd_bus **ret, const char *description) {
const char *e;
-
sd_bus *b
;
+
_cleanup_(bus_freep) sd_bus *b = NULL
;
int r;
assert_return(ret, -EINVAL);
int r;
assert_return(ret, -EINVAL);
@@
-1240,7
+1242,7
@@
_public_ int sd_bus_open_with_description(sd_bus **ret, const char *description)
r = sd_bus_set_address(b, e);
if (r < 0)
r = sd_bus_set_address(b, e);
if (r < 0)
-
goto fail
;
+
return r
;
b->bus_client = true;
b->bus_client = true;
@@
-1252,14
+1254,10
@@
_public_ int sd_bus_open_with_description(sd_bus **ret, const char *description)
r = sd_bus_start(b);
if (r < 0)
r = sd_bus_start(b);
if (r < 0)
-
goto fail
;
+
return r
;
- *ret =
b
;
+ *ret =
TAKE_PTR(b)
;
return 0;
return 0;
-
-fail:
- bus_free(b);
- return r;
}
_public_ int sd_bus_open(sd_bus **ret) {
}
_public_ int sd_bus_open(sd_bus **ret) {
@@
-1278,7
+1276,7
@@
int bus_set_address_system(sd_bus *b) {
}
_public_ int sd_bus_open_system_with_description(sd_bus **ret, const char *description) {
}
_public_ int sd_bus_open_system_with_description(sd_bus **ret, const char *description) {
-
sd_bus *b
;
+
_cleanup_(bus_freep) sd_bus *b = NULL
;
int r;
assert_return(ret, -EINVAL);
int r;
assert_return(ret, -EINVAL);
@@
-1290,12
+1288,12
@@
_public_ int sd_bus_open_system_with_description(sd_bus **ret, const char *descr
if (description) {
r = sd_bus_set_description(b, description);
if (r < 0)
if (description) {
r = sd_bus_set_description(b, description);
if (r < 0)
-
goto fail
;
+
return r
;
}
r = bus_set_address_system(b);
if (r < 0)
}
r = bus_set_address_system(b);
if (r < 0)
-
goto fail
;
+
return r
;
b->bus_client = true;
b->is_system = true;
b->bus_client = true;
b->is_system = true;
@@
-1308,14
+1306,10
@@
_public_ int sd_bus_open_system_with_description(sd_bus **ret, const char *descr
r = sd_bus_start(b);
if (r < 0)
r = sd_bus_start(b);
if (r < 0)
-
goto fail
;
+
return r
;
- *ret =
b
;
+ *ret =
TAKE_PTR(b)
;
return 0;
return 0;
-
-fail:
- bus_free(b);
- return r;
}
_public_ int sd_bus_open_system(sd_bus **ret) {
}
_public_ int sd_bus_open_system(sd_bus **ret) {
@@
-1352,7
+1346,7
@@
int bus_set_address_user(sd_bus *b) {
_public_ int sd_bus_open_user_with_description(sd_bus **ret, const char *description) {
#if 0 /// elogind does not support user buses
_public_ int sd_bus_open_user_with_description(sd_bus **ret, const char *description) {
#if 0 /// elogind does not support user buses
-
sd_bus *b
;
+
_cleanup_(bus_freep) sd_bus *b = NULL
;
int r;
assert_return(ret, -EINVAL);
int r;
assert_return(ret, -EINVAL);
@@
-1364,12
+1358,12
@@
_public_ int sd_bus_open_user_with_description(sd_bus **ret, const char *descrip
if (description) {
r = sd_bus_set_description(b, description);
if (r < 0)
if (description) {
r = sd_bus_set_description(b, description);
if (r < 0)
-
goto fail
;
+
return r
;
}
r = bus_set_address_user(b);
if (r < 0)
}
r = bus_set_address_user(b);
if (r < 0)
-
goto fail
;
+
return r
;
b->bus_client = true;
b->is_user = true;
b->bus_client = true;
b->is_user = true;
@@
-1381,14
+1375,10
@@
_public_ int sd_bus_open_user_with_description(sd_bus **ret, const char *descrip
r = sd_bus_start(b);
if (r < 0)
r = sd_bus_start(b);
if (r < 0)
-
goto fail
;
+
return r
;
- *ret =
b
;
+ *ret =
TAKE_PTR(b)
;
return 0;
return 0;
-
-fail:
- bus_free(b);
- return r;
}
_public_ int sd_bus_open_user(sd_bus **ret) {
}
_public_ int sd_bus_open_user(sd_bus **ret) {
@@
-1439,35
+1429,31
@@
int bus_set_address_system_remote(sd_bus *b, const char *host) {
}
_public_ int sd_bus_open_system_remote(sd_bus **ret, const char *host) {
}
_public_ int sd_bus_open_system_remote(sd_bus **ret, const char *host) {
-
sd_bus *bus
;
+
_cleanup_(bus_freep) sd_bus *b = NULL
;
int r;
assert_return(host, -EINVAL);
assert_return(ret, -EINVAL);
int r;
assert_return(host, -EINVAL);
assert_return(ret, -EINVAL);
- r = sd_bus_new(&b
us
);
+ r = sd_bus_new(&b);
if (r < 0)
return r;
if (r < 0)
return r;
- r = bus_set_address_system_remote(b
us
, host);
+ r = bus_set_address_system_remote(b, host);
if (r < 0)
if (r < 0)
-
goto fail
;
+
return r
;
- b
us
->bus_client = true;
- b
us
->trusted = false;
- b
us
->is_system = true;
- b
us
->is_local = false;
+ b->bus_client = true;
+ b->trusted = false;
+ b->is_system = true;
+ b->is_local = false;
- r = sd_bus_start(b
us
);
+ r = sd_bus_start(b);
if (r < 0)
if (r < 0)
-
goto fail
;
+
return r
;
- *ret =
bus
;
+ *ret =
TAKE_PTR(b)
;
return 0;
return 0;
-
-fail:
- bus_free(bus);
- return r;
}
int bus_set_address_system_machine(sd_bus *b, const char *machine) {
}
int bus_set_address_system_machine(sd_bus *b, const char *machine) {
@@
-1489,40
+1475,35
@@
int bus_set_address_system_machine(sd_bus *b, const char *machine) {
}
_public_ int sd_bus_open_system_machine(sd_bus **ret, const char *machine) {
}
_public_ int sd_bus_open_system_machine(sd_bus **ret, const char *machine) {
-
sd_bus *bus
;
+
_cleanup_(bus_freep) sd_bus *b = NULL
;
int r;
assert_return(machine, -EINVAL);
assert_return(ret, -EINVAL);
assert_return(machine_name_is_valid(machine), -EINVAL);
int r;
assert_return(machine, -EINVAL);
assert_return(ret, -EINVAL);
assert_return(machine_name_is_valid(machine), -EINVAL);
- r = sd_bus_new(&b
us
);
+ r = sd_bus_new(&b);
if (r < 0)
return r;
if (r < 0)
return r;
- r = bus_set_address_system_machine(b
us
, machine);
+ r = bus_set_address_system_machine(b, machine);
if (r < 0)
if (r < 0)
-
goto fail
;
+
return r
;
- b
us
->bus_client = true;
- b
us
->trusted = false;
- b
us
->is_system = true;
- b
us
->is_local = false;
+ b->bus_client = true;
+ b->trusted = false;
+ b->is_system = true;
+ b->is_local = false;
- r = sd_bus_start(b
us
);
+ r = sd_bus_start(b);
if (r < 0)
if (r < 0)
-
goto fail
;
+
return r
;
- *ret =
bus
;
+ *ret =
TAKE_PTR(b)
;
return 0;
return 0;
-
-fail:
- bus_free(bus);
- return r;
}
_public_ void sd_bus_close(sd_bus *bus) {
}
_public_ void sd_bus_close(sd_bus *bus) {
-
if (!bus)
return;
if (bus->state == BUS_CLOSED)
if (!bus)
return;
if (bus->state == BUS_CLOSED)
@@
-1546,7
+1527,6
@@
_public_ void sd_bus_close(sd_bus *bus) {
}
_public_ sd_bus* sd_bus_flush_close_unref(sd_bus *bus) {
}
_public_ sd_bus* sd_bus_flush_close_unref(sd_bus *bus) {
-
if (!bus)
return NULL;
if (!bus)
return NULL;
@@
-1569,7
+1549,6
@@
void bus_enter_closing(sd_bus *bus) {
}
_public_ sd_bus *sd_bus_ref(sd_bus *bus) {
}
_public_ sd_bus *sd_bus_ref(sd_bus *bus) {
-
if (!bus)
return NULL;
if (!bus)
return NULL;
@@
-1588,12
+1567,10
@@
_public_ sd_bus *sd_bus_unref(sd_bus *bus) {
if (i > 0)
return NULL;
if (i > 0)
return NULL;
- bus_free(bus);
- return NULL;
+ return bus_free(bus);
}
_public_ int sd_bus_is_open(sd_bus *bus) {
}
_public_ int sd_bus_is_open(sd_bus *bus) {
-
assert_return(bus, -EINVAL);
assert_return(bus = bus_resolve(bus), -ENOPKG);
assert_return(!bus_pid_changed(bus), -ECHILD);
assert_return(bus, -EINVAL);
assert_return(bus = bus_resolve(bus), -ENOPKG);
assert_return(!bus_pid_changed(bus), -ECHILD);