From: Willy Tarreau Date: Mon, 28 Oct 2024 06:47:23 +0000 (+0100) Subject: MINOR: debug: remove the redundant process.thread_info array from post_mortem X-Git-Tag: v3.1-dev11~38 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=52240680f1d98cc7eb1e762a04becaf54660e96b;p=thirdparty%2Fhaproxy.git MINOR: debug: remove the redundant process.thread_info array from post_mortem That one is huge and unneeded since we now have the pointer to the whole thread_info[] array, which does contain the freshest version of these info and many more. Let's just get rid of it entirely. --- diff --git a/src/debug.c b/src/debug.c index 299fe93875..20106ac192 100644 --- a/src/debug.c +++ b/src/debug.c @@ -136,13 +136,6 @@ struct post_mortem { struct rlimit run_lim_fd; // RLIMIT_NOFILE just before enter in polling loop struct rlimit run_lim_ram; // RLIMIT_DATA just before enter in polling loop char **argv; - -#if defined(USE_THREAD) - struct { - ullong pth_id; // pthread_t cast to a ullong - void *stack_top; // top of the stack - } thread_info[MAX_THREADS]; -#endif unsigned char argc; } process; @@ -2629,23 +2622,10 @@ void post_mortem_add_component(const char *name, const char *version, static int feed_post_mortem_late() { static int per_thread_info_collected; - int i; if (HA_ATOMIC_ADD_FETCH(&per_thread_info_collected, 1) != global.nbthread) return 1; - /* Collect thread info, only when we are in the last thread context. - * feed_post_mortem_late() is registered in per_thread_init_list. Each - * thread takes a mutex before looping over this list, so - * feed_post_mortem_late() will be called by each thread in exclusive - * manner, one by one in synchronous order. Thread unlocks mutex only - * after executing all init functions from this list. - */ - for (i = 0; i < global.nbthread; i++) { - post_mortem.process.thread_info[i].pth_id = ha_thread_info[i].pth_id; - post_mortem.process.thread_info[i].stack_top = ha_thread_info[i].stack_top; - } - /* also set runtime process settings. At this stage we are sure, that all * config options and limits adjustments are successfully applied. */