]> source.dussan.org Git - rspamd.git/commitdiff
[Minor] Use a more standard way to initialize libunwind
authorVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 13 Sep 2023 12:10:47 +0000 (13:10 +0100)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Wed, 13 Sep 2023 12:10:47 +0000 (13:10 +0100)
src/libserver/worker_util.c

index a0abe63b1611f399dfc5b75369b22eb669092ce6..32e1e9ae09bc85111e1eab4e4bbb069391686a90 100644 (file)
@@ -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++;