summaryrefslogtreecommitdiffstats
path: root/src/thread.c
diff options
context:
space:
mode:
authorTavian Barnes <tavianator@tavianator.com>2025-07-07 13:53:04 -0400
committerTavian Barnes <tavianator@tavianator.com>2025-07-26 14:19:52 -0400
commit1bae72d2b5bbbf7d71b1ff9a1f88fbe560d9b7ba (patch)
tree00a4841a85d59a02befc8f139c49f82fe3ac6907 /src/thread.c
parentb4e3696101b049815dac8459b2b9cb18213b489e (diff)
downloadbfs-1bae72d2b5bbbf7d71b1ff9a1f88fbe560d9b7ba.tar.xz
Simplify some more macros with C23 syntaxHEADmain
Diffstat (limited to 'src/thread.c')
-rw-r--r--src/thread.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/src/thread.c b/src/thread.c
index b3604f8..8607bca 100644
--- a/src/thread.c
+++ b/src/thread.c
@@ -24,13 +24,12 @@
} \
} while (0)
-#define THREAD_INFALLIBLE(...) \
- THREAD_INFALLIBLE_(__VA_ARGS__, 0, )
+#define THREAD_INFALLIBLE(expr, ...) \
+ THREAD_INFALLIBLE_(expr, BFS_VA_IF(__VA_ARGS__)(__VA_ARGS__)(0))
-#define THREAD_INFALLIBLE_(expr, allowed, ...) \
+#define THREAD_INFALLIBLE_(expr, allowed) \
int err = expr; \
- bfs_verify(err == 0 || err == allowed, "%s: %s", #expr, xstrerror(err)); \
- (void)0
+ bfs_verify(err == 0 || err == allowed, "%s: %s", #expr, xstrerror(err))
int thread_create(pthread_t *thread, const pthread_attr_t *attr, thread_fn *fn, void *arg) {
THREAD_FALLIBLE(pthread_create(thread, attr, fn, arg));