]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Improve reporting for barrier errors
authorMichał Kępień <michal@isc.org>
Wed, 13 Jul 2022 11:19:32 +0000 (13:19 +0200)
committerMichał Kępień <michal@isc.org>
Wed, 13 Jul 2022 11:19:32 +0000 (13:19 +0200)
uv_barrier_init() errors are currently ignored.  Use UV_RUNTIME_CHECK()
to catch them and to improve error reporting for any uv_barrier_init()
run-time failures (by augmenting error messages with file/line
information and the error string corresponding to the value returned).

lib/isc/include/isc/barrier.h

index 20bfdab0acde91d21c312bee106541ceb95a92ab..5dcc13ccaf7a9b1351d23e5901e32f45155566eb 100644 (file)
@@ -56,8 +56,14 @@ typedef uv_barrier_t isc_barrier_t;
 
 #endif /* ISC_TRACK_PTHREADS_OBJECTS */
 
-#define isc__barrier_init(bp, count) uv_barrier_init(bp, count)
-#define isc__barrier_wait(bp)       uv_barrier_wait(bp)
-#define isc__barrier_destroy(bp)     uv_barrier_destroy(bp)
+#define isc__barrier_init(bp, count)                     \
+       {                                                \
+               int _ret = uv_barrier_init(bp, count);   \
+               UV_RUNTIME_CHECK(uv_barrier_init, _ret); \
+       }
+
+#define isc__barrier_wait(bp) uv_barrier_wait(bp)
+
+#define isc__barrier_destroy(bp) uv_barrier_destroy(bp)
 
 #endif /* __SANITIZE_THREAD__ */