From 1ceeac0374b9fb7747797c6643f3c6835b600760 Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Sun, 29 Apr 2012 12:13:00 +0200 Subject: [PATCH] EVENT-Backtrace enableable on its own by now. --- citadel/event_client.c | 3 ++- citadel/modules/eventclient/serv_eventclient.c | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/citadel/event_client.c b/citadel/event_client.c index 927e18bd0..697fd7bcd 100644 --- a/citadel/event_client.c +++ b/citadel/event_client.c @@ -976,6 +976,7 @@ int InitcURLIOStruct(AsyncIO *IO, } +extern int DebugEventLoopBacktrace; void EV_backtrace(AsyncIO *IO) { #ifdef HAVE_BACKTRACE @@ -983,7 +984,7 @@ void EV_backtrace(AsyncIO *IO) size_t size, i; char **strings; - if (IO == NULL) + if ((IO == NULL) || (DebugEventLoopBacktrace == 0)) return; size = backtrace(stack_frames, sizeof(stack_frames) / sizeof(void*)); strings = backtrace_symbols(stack_frames, size); diff --git a/citadel/modules/eventclient/serv_eventclient.c b/citadel/modules/eventclient/serv_eventclient.c index 39bb108a7..a079d1232 100644 --- a/citadel/modules/eventclient/serv_eventclient.c +++ b/citadel/modules/eventclient/serv_eventclient.c @@ -61,6 +61,7 @@ ev_loop *event_base; int DebugEventLoop = 0; +int DebugEventLoopBacktrace = 0; int DebugCurl = 0; long EvIDSource = 1; @@ -844,6 +845,10 @@ void DebugEventloopEnable(void) { DebugEventLoop = 1; } +void DebugEventloopBacktraceEnable(void) +{ + DebugEventLoopBacktrace = 1; +} void DebugCurlEnable(void) { @@ -855,6 +860,7 @@ CTDL_MODULE_INIT(event_client) if (!threading) { CtdlRegisterDebugFlagHook(HKEY("eventloop"), DebugEventloopEnable); + CtdlRegisterDebugFlagHook(HKEY("eventloopbacktrace"), DebugEventloopBacktraceEnable); CtdlRegisterDebugFlagHook(HKEY("curl"), DebugCurlEnable); InitEventQueue(); DBInitEventQueue(); -- 2.30.2