From c5de7b6e52f35e256cf4cc989dcae847c5932414 Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Mon, 26 Jul 2010 20:28:52 +0000 Subject: [PATCH] * Backport the important part of r8717 to stable. I forgot I did this on Friday. When running EVT_TIMER hooks from the housekeeping loop, do citthread_setspecific(MyConKey, NULL); before running *each* hook. Some of the hooks are setting MyConKey and then leaving it set. This is bad and causes crasheriferous behavior. This change should fix it. --- citadel/serv_extensions.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/citadel/serv_extensions.c b/citadel/serv_extensions.c index dee9b4549..0617cce0a 100644 --- a/citadel/serv_extensions.c +++ b/citadel/serv_extensions.c @@ -891,6 +891,9 @@ void PerformSessionHooks(int EventType) for (fcn = SessionHookTable; fcn != NULL; fcn = fcn->next) { if (fcn->eventtype == EventType) { + if (EventType == EVT_TIMER) { + citthread_setspecific(MyConKey, NULL); /* for every hook */ + } (*fcn->h_function_pointer) (); } } -- 2.30.2