]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add UV_RUNTIME_CHECK() macro to print uv_strerror()
authorOndřej Surý <ondrej@isc.org>
Tue, 15 Feb 2022 13:44:29 +0000 (14:44 +0100)
committerOndřej Surý <ondrej@isc.org>
Wed, 16 Feb 2022 10:46:10 +0000 (11:46 +0100)
When libuv functions fail, they return correct return value that could
be useful for more detailed debugging.  Currently, we usually just check
whether the return value is 0 and invoke assertion error if it doesn't
throwing away the details why the call has failed.  Unfortunately, this
often happen on more exotic platforms.

Add a UV_RUNTIME_CHECK() macro that can be used to print more detailed
error message (via uv_strerror() before ending the execution of the
program abruptly with the assertion.

(cherry picked from commit 62e15bb06db5e7d209e8c20d7bdb1501df7dfba8)

lib/isc/netmgr/netmgr-int.h

index 8099ea2d7675569755980f27b8a66c032d52bd48..6c87b0f1cf6bb9ace56f00eccf688bda6f02a08c 100644 (file)
@@ -1594,3 +1594,9 @@ void
 isc__nm_accept_connection_log(isc_result_t result, bool can_log_quota);
 
 #define STREAM_CLIENTS_PER_CONN 23
+
+#define UV_RUNTIME_CHECK(func, ret)                                           \
+       if (ret != 0) {                                                       \
+               isc_error_fatal(__FILE__, __LINE__, "%s failed: %s\n", #func, \
+                               uv_strerror(ret));                            \
+       }