summaryrefslogtreecommitdiffstats
path: root/src/lock.h
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2023-06-26 15:04:13 -0400
committerTavian Barnes <tavianator@tavianator.com>2023-06-26 15:04:13 -0400
commit1313875b02c690ca5a40e585d24fdec240bb419d (patch)
tree6cd7733b8e3ae07129955fcb627f313032456f10 /src/lock.h
parentabd29143d805fa16c65489d5b1d79428943d0187 (diff)
downloadbfs-1313875b02c690ca5a40e585d24fdec240bb419d.tar.xz
thread: Wrap more pthread APIs
Diffstat (limited to 'src/lock.h')
-rw-r--r--src/lock.h85
1 files changed, 0 insertions, 85 deletions
diff --git a/src/lock.h b/src/lock.h
deleted file mode 100644
index 2b5f951..0000000
--- a/src/lock.h
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright © Tavian Barnes <tavianator@tavianator.com>
-// SPDX-License-Identifier: 0BSD
-
-/**
- * Wrappers for POSIX synchronization primitives.
- */
-
-#ifndef BFS_LOCK_H
-#define BFS_LOCK_H
-
-#include "diag.h"
-#include <errno.h>
-#include <pthread.h>
-#include <string.h>
-
-#define lock_verify(expr, cond) \
- bfs_verify((errno = (expr), (cond)), "%s: %s", #expr, strerror(errno))
-
-/**
- * Wrapper for pthread_mutex_init().
- *
- * @return
- * 0 on success, -1 on error.
- */
-#define mutex_init(mutex, attr) \
- ((errno = pthread_mutex_init(mutex, attr)) ? -1 : 0)
-
-/**
- * Wrapper for pthread_mutex_lock().
- */
-#define mutex_lock(mutex) \
- lock_verify(pthread_mutex_lock(mutex), errno == 0)
-
-/**
- * Wrapper for pthread_mutex_trylock().
- *
- * @return
- * Whether the mutex was locked.
- */
-#define mutex_trylock(mutex) \
- (lock_verify(pthread_mutex_trylock(mutex), errno == 0 || errno == EBUSY), errno == 0)
-
-/**
- * Wrapper for pthread_mutex_unlock().
- */
-#define mutex_unlock(mutex) \
- lock_verify(pthread_mutex_unlock(mutex), errno == 0)
-
-/**
- * Wrapper for pthread_mutex_destroy().
- */
-#define mutex_destroy(mutex) \
- lock_verify(pthread_mutex_destroy(mutex), errno == 0)
-
-/**
- * Wrapper for pthread_cond_init().
- */
-#define cond_init(cond, attr) \
- ((errno = pthread_cond_init(cond, attr)) ? -1 : 0)
-
-/**
- * Wrapper for pthread_cond_wait().
- */
-#define cond_wait(cond, mutex) \
- lock_verify(pthread_cond_wait(cond, mutex), errno == 0)
-
-/**
- * Wrapper for pthread_cond_signal().
- */
-#define cond_signal(cond) \
- lock_verify(pthread_cond_signal(cond), errno == 0)
-
-/**
- * Wrapper for pthread_cond_broadcast().
- */
-#define cond_broadcast(cond) \
- lock_verify(pthread_cond_broadcast(cond), errno == 0)
-
-/**
- * Wrapper for pthread_cond_destroy().
- */
-#define cond_destroy(cond) \
- lock_verify(pthread_cond_destroy(cond), errno == 0)
-
-#endif // BFS_LOCK_H