]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
varlink: add varlink_close_unref() helper 14370/head
authorLennart Poettering <lennart@poettering.net>
Tue, 28 May 2019 12:18:49 +0000 (14:18 +0200)
committerLennart Poettering <lennart@poettering.net>
Tue, 17 Dec 2019 19:05:46 +0000 (20:05 +0100)
src/shared/varlink.c
src/shared/varlink.h

index e1d956e6490a9ef49d3b1ca595bfa554235f89d5..77cea00cb9dad68f295bf3e0e92db2d7a69a5076 100644 (file)
@@ -1193,6 +1193,15 @@ int varlink_close(Varlink *v) {
         return 1;
 }
 
+Varlink* varlink_close_unref(Varlink *v) {
+
+        if (!v)
+                return NULL;
+
+        (void) varlink_close(v);
+        return varlink_unref(v);
+}
+
 Varlink* varlink_flush_close_unref(Varlink *v) {
 
         if (!v)
@@ -1200,7 +1209,6 @@ Varlink* varlink_flush_close_unref(Varlink *v) {
 
         (void) varlink_flush(v);
         (void) varlink_close(v);
-
         return varlink_unref(v);
 }
 
index 0208802010b1c24f57319dd4aefbbb128da81851..0d9617d40352ff7aa6f6d790defb616fc1e9c1ef 100644 (file)
@@ -73,6 +73,7 @@ int varlink_flush(Varlink *v);
 int varlink_close(Varlink *v);
 
 Varlink* varlink_flush_close_unref(Varlink *v);
+Varlink* varlink_close_unref(Varlink *v);
 
 /* Enqueue method call, not expecting a reply */
 int varlink_send(Varlink *v, const char *method, JsonVariant *parameters);
@@ -152,6 +153,7 @@ int varlink_server_set_connections_max(VarlinkServer *s, unsigned m);
 int varlink_server_set_description(VarlinkServer *s, const char *description);
 
 DEFINE_TRIVIAL_CLEANUP_FUNC(Varlink *, varlink_unref);
+DEFINE_TRIVIAL_CLEANUP_FUNC(Varlink *, varlink_close_unref);
 DEFINE_TRIVIAL_CLEANUP_FUNC(Varlink *, varlink_flush_close_unref);
 DEFINE_TRIVIAL_CLEANUP_FUNC(VarlinkServer *, varlink_server_unref);