40 lines
1.6 KiB
Diff
40 lines
1.6 KiB
Diff
|
|
From 88751da1145e1bbc4ed32fd100184f3f0d7e2ad1 Mon Sep 17 00:00:00 2001
|
||
|
|
From: =?UTF-8?q?Ond=C5=99ej=20Sur=C3=BD?= <ondrej@isc.org>
|
||
|
|
Date: Tue, 15 Feb 2022 14:44:29 +0100
|
||
|
|
Subject: [PATCH] Add UV_RUNTIME_CHECK() macro to print uv_strerror()
|
||
|
|
|
||
|
|
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)
|
||
|
|
Conflict: NA
|
||
|
|
Reference: https://gitlab.isc.org/isc-projects/bind9/-/commit/88751da1145e1bbc4ed32fd100184f3f0d7e2ad1
|
||
|
|
---
|
||
|
|
lib/isc/netmgr/netmgr-int.h | 6 ++++++
|
||
|
|
1 file changed, 6 insertions(+)
|
||
|
|
|
||
|
|
diff --git a/lib/isc/netmgr/netmgr-int.h b/lib/isc/netmgr/netmgr-int.h
|
||
|
|
index 326535c..23bc2a2 100644
|
||
|
|
--- a/lib/isc/netmgr/netmgr-int.h
|
||
|
|
+++ b/lib/isc/netmgr/netmgr-int.h
|
||
|
|
@@ -1607,3 +1607,9 @@ isc__nmsocket_writetimeout_cb(void *data, isc_result_t eresult);
|
||
|
|
* changed in the future.
|
||
|
|
*/
|
||
|
|
#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)); \
|
||
|
|
+ }
|
||
|
|
--
|
||
|
|
2.27.0
|
||
|
|
|