X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=include%2Flttng%2Fref-internal.h;h=a02ae4cdc1229a627226e74991cebb49887b4820;hp=5c17145e142075a1ead9efb4d73376d5ab2f5cc3;hb=HEAD;hpb=ab5be9fa2eb5ba9600a82cd18fd3cfcbac69169a diff --git a/include/lttng/ref-internal.h b/include/lttng/ref-internal.h deleted file mode 100644 index 5c17145e1..000000000 --- a/include/lttng/ref-internal.h +++ /dev/null @@ -1,50 +0,0 @@ -#ifndef LTTNG_REF_INTERNAL_H -#define LTTNG_REF_INTERNAL_H - -/* - * LTTng - Non thread-safe reference counting - * - * Copyright 2013, 2014 Jérémie Galarneau - * - * SPDX-License-Identifier: LGPL-2.1-only - * - */ - -#include - -typedef void (*lttng_release_func)(void *); - -struct lttng_ref { - unsigned long count; - lttng_release_func release; -}; - -static inline -void lttng_ref_init(struct lttng_ref *ref, lttng_release_func release) -{ - assert(ref); - ref->count = 1; - ref->release = release; -} - -static inline -void lttng_ref_get(struct lttng_ref *ref) -{ - assert(ref); - ref->count++; - /* Overflow check. */ - assert(ref->count); -} - -static inline -void lttng_ref_put(struct lttng_ref *ref) -{ - assert(ref); - /* Underflow check. */ - assert(ref->count); - if (caa_unlikely((--ref->count) == 0)) { - ref->release(ref); - } -} - -#endif /* LTTNG_REF_INTERNAL_H */