X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fbarrier.h;h=b8954694d3bb2149f4928f047095b755dec630ff;hb=162255186046fa7a5e82859b7dba5a7909ce6fc4;hp=7f76ec7910283dff10edde66d3122839b31e5e66;hpb=279da1e3f99b9c767a69849b5445e3cfd8d83376;p=elogind.git
diff --git a/src/shared/barrier.h b/src/shared/barrier.h
index 7f76ec791..b8954694d 100644
--- a/src/shared/barrier.h
+++ b/src/shared/barrier.h
@@ -21,14 +21,9 @@
along with systemd; If not, see .
***/
-#include
-#include
-#include
-#include
#include
#include "macro.h"
-#include "util.h"
/* See source file for an API description. */
@@ -57,9 +52,13 @@ struct Barrier {
int64_t barriers;
};
-int barrier_init(Barrier *obj);
+#define BARRIER_NULL {-1, -1, {-1, -1}, 0}
+
+int barrier_create(Barrier *obj);
void barrier_destroy(Barrier *b);
+DEFINE_TRIVIAL_CLEANUP_FUNC(Barrier*, barrier_destroy);
+
void barrier_set_role(Barrier *b, unsigned int role);
bool barrier_place(Barrier *b);
@@ -87,6 +86,6 @@ static inline bool barrier_is_aborted(Barrier *b) {
}
static inline bool barrier_place_and_sync(Barrier *b) {
- barrier_place(b);
+ (void) barrier_place(b);
return barrier_sync(b);
}