commit 89f2c5d: [Minor] Use a more standard way to initialize libunwind

Vsevolod Stakhov vsevolod at rspamd.com
Wed Sep 13 12:14:03 UTC 2023


Author: Vsevolod Stakhov
Date: 2023-09-13 13:10:47 +0100
URL: https://github.com/rspamd/rspamd/commit/89f2c5d327ab9f95379de264dd6f1e982087e5a0 (HEAD -> master)

[Minor] Use a more standard way to initialize libunwind

---
 src/libserver/worker_util.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/src/libserver/worker_util.c b/src/libserver/worker_util.c
index a0abe63b1..32e1e9ae0 100644
--- a/src/libserver/worker_util.c
+++ b/src/libserver/worker_util.c
@@ -1612,14 +1612,16 @@ void rspamd_worker_init_monitored(struct rspamd_worker *worker,
 
 #ifdef WITH_LIBUNWIND
 static void
-rspamd_print_crash(ucontext_t *uap)
+rspamd_print_crash(ucontext_t *_uap)
 {
 	unw_cursor_t cursor;
-	unw_word_t ip, off;
+	unw_context_t uc;
+	unw_word_t ip, off, sp;
 	guint level;
 	gint ret;
 
-	if ((ret = unw_init_local(&cursor, uap)) != 0) {
+	unw_getcontext(&uc);
+	if ((ret = unw_init_local(&cursor, &uc)) != 0) {
 		msg_err("unw_init_local: %d", ret);
 
 		return;
@@ -1640,10 +1642,10 @@ rspamd_print_crash(ucontext_t *uap)
 
 		if (ret == 0) {
 			msg_err("%d: 0x%xl: %s()+0x%xl",
-					level, (unsigned long)ip, name, (unsigned long)off);
+					level, (unsigned long) ip, name, (unsigned long) off);
 		}
 		else {
-			msg_err("%d: %0x%xl: <unknown>", level, (unsigned long)ip);
+			msg_err("%d: %0x%xl: <unknown>", level, (unsigned long) ip);
 		}
 
 		level++;


More information about the Commits mailing list