]> code.citadel.org Git - citadel.git/blobdiff - citadel/modules/eventclient/serv_eventclient.c
Logging: add commands to runtime view/enable/disable logging
[citadel.git] / citadel / modules / eventclient / serv_eventclient.c
index 39bb108a7af1dce3e03fc2ef65f8fe39e1a5eb70..06e140b7ebbe006e875fd645d9d2a5162d81440c 100644 (file)
@@ -61,6 +61,7 @@
 
 ev_loop *event_base;
 int DebugEventLoop = 0;
+int DebugEventLoopBacktrace = 0;
 int DebugCurl = 0;
 
 long EvIDSource = 1;
@@ -840,22 +841,27 @@ void ShutDownEventQueues(void)
        pthread_mutex_unlock(&EventQueueMutex);
 }
 
-void DebugEventloopEnable(void)
+void DebugEventloopEnable(const int n)
 {
-       DebugEventLoop = 1;
+       DebugEventLoop = n;
+}
+void DebugEventloopBacktraceEnable(const int n)
+{
+       DebugEventLoopBacktrace = n;
 }
 
-void DebugCurlEnable(void)
+void DebugCurlEnable(const int n)
 {
-       DebugCurl = 1;
+       DebugCurl = n;
 }
 
 CTDL_MODULE_INIT(event_client)
 {
        if (!threading)
        {
-               CtdlRegisterDebugFlagHook(HKEY("eventloop"), DebugEventloopEnable);
-               CtdlRegisterDebugFlagHook(HKEY("curl"), DebugCurlEnable);
+               CtdlRegisterDebugFlagHook(HKEY("eventloop"), DebugEventloopEnable, &DebugEventLoop);
+               CtdlRegisterDebugFlagHook(HKEY("eventloopbacktrace"), DebugEventloopBacktraceEnable, &DebugEventLoopBacktrace);
+               CtdlRegisterDebugFlagHook(HKEY("curl"), DebugCurlEnable, &DebugCurl);
                InitEventQueue();
                DBInitEventQueue();
                CtdlThreadCreate(client_event_thread);