summaryrefslogtreecommitdiffstats
path: root/src/thread.c
diff options
context:
space:
mode:
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));