diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-08-12 09:19:20 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2021-08-12 09:19:20 +0000 |
commit | b6d97fef4669d07c108b130ea882f19a737d2ae9 (patch) | |
tree | c2f7a4e2e0ba7f963db3a9041d4644e70bd0024c /src/util.h | |
parent | Updating watch file. (diff) | |
download | dnsperf-b6d97fef4669d07c108b130ea882f19a737d2ae9.tar.xz dnsperf-b6d97fef4669d07c108b130ea882f19a737d2ae9.zip |
Merging upstream version 2.7.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/util.h')
-rw-r--r-- | src/util.h | 14 |
1 files changed, 14 insertions, 0 deletions
@@ -28,6 +28,7 @@ #include <stdbool.h> #include <string.h> #include <sys/time.h> +#include <errno.h> #define MILLION ((uint64_t)1000000) @@ -76,6 +77,19 @@ } \ } while (0) +static inline int PERF_TRYLOCK(pthread_mutex_t* mutex) +{ + int __n = pthread_mutex_trylock(mutex); + if (__n == EBUSY) { + return 1; + } + if (__n != 0) { + char __s[256]; + perf_log_fatal("pthread_mutex_lock failed: %s", perf_strerror_r(__n, __s, sizeof(__s))); + } + return 0; +} + #define PERF_UNLOCK(mutex) \ do { \ int __n = pthread_mutex_unlock((mutex)); \ |