From: Wilfried Goesgens Date: Sun, 29 Apr 2012 10:13:00 +0000 (+0200) Subject: EVENT-Backtrace enableable on its own by now. X-Git-Tag: v8.11~59 X-Git-Url: https://code.citadel.org/?p=citadel.git;a=commitdiff_plain;h=1ceeac0374b9fb7747797c6643f3c6835b600760 EVENT-Backtrace enableable on its own by now. --- 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();