}
}
+/*
+ * flush it again...
+ */
+void CtdlClearSystemContext(void)
+{
+ CitContext *CCC = CC;
+
+ FreeStrBuf(&CCC->lBuf);
+ memset(CCC, 0, sizeof(CitContext));
+ citthread_setspecific(MyConKey, NULL);
+}
+
/*
* Cleanup any contexts that are left lying around
*/
*/
struct CitContext *CtdlGetContextArray (int *count);
void CtdlFillSystemContext(struct CitContext *context, char *name);
-
+void CtdlClearSystemContext(void);
int CtdlTrySingleUser(void);
void CtdlEndSingleUser(void);
int CtdlWantSingleUser(void);
int num_processed = 0;
struct CitContext smtp_queue_CC;
+ CtdlFillSystemContext(&smtp_queue_CC, "SMTP Send");
CtdlLogPrintf(CTDL_INFO, "SMTP client: processing outbound queue\n");
- CtdlFillSystemContext(&smtp_queue_CC, "SMTP Send");
citthread_setspecific(MyConKey, (void *)&smtp_queue_CC );
if (CtdlGetRoom(&CC->room, SMTP_SPOOLOUT_ROOM) != 0) {
citthread_mutex_unlock (&smtp_send_lock);
CtdlLogPrintf(CTDL_INFO, "SMTP client: queue run completed; %d messages processed\n", num_processed);
+
+ CtdlClearSystemContext();
return(NULL);
}