summaryrefslogtreecommitdiffstats
path: root/src/knot/modules/probe/probe.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/knot/modules/probe/probe.c')
-rw-r--r--src/knot/modules/probe/probe.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/src/knot/modules/probe/probe.c b/src/knot/modules/probe/probe.c
index 9207308..3e0a646 100644
--- a/src/knot/modules/probe/probe.c
+++ b/src/knot/modules/probe/probe.c
@@ -19,18 +19,11 @@
#include "knot/conf/schema.h"
#include "knot/include/module.h"
+#include "contrib/atomic.h"
#include "contrib/string.h"
#include "contrib/time.h"
#include "libknot/libknot.h"
-#ifdef HAVE_ATOMIC
-#define ATOMIC_SET(dst, val) __atomic_store_n(&(dst), (val), __ATOMIC_RELAXED)
-#define ATOMIC_GET(src) __atomic_load_n(&(src), __ATOMIC_RELAXED)
-#else
-#define ATOMIC_SET(dst, val) ((dst) = (val))
-#define ATOMIC_GET(src) (src)
-#endif
-
#define MOD_PATH "\x04""path"
#define MOD_CHANNELS "\x08""channels"
#define MOD_MAX_RATE "\x08""max-rate"
@@ -45,7 +38,7 @@ const yp_item_t probe_conf[] = {
typedef struct {
knot_probe_t **probes;
size_t probe_count;
- uint64_t *last_times;
+ knot_atomic_uint64_t *last_times;
uint64_t min_diff_ns;
char *path;
} probe_ctx_t;
@@ -139,7 +132,7 @@ int probe_load(knotd_mod_t *mod)
return KNOT_ENOMEM;
}
- ctx->last_times = calloc(ctx->probe_count, sizeof(uint64_t));
+ ctx->last_times = calloc(ctx->probe_count, sizeof(*ctx->last_times));
if (ctx->last_times == NULL) {
free_probe_ctx(ctx);
return KNOT_ENOMEM;