xdbe replaced with more generic pixmap based buffering but there are 2 bugs:
[monky] / src / logging.h
index 8916ff9..486e792 100644 (file)
@@ -9,7 +9,7 @@
  * Please see COPYING for details
  *
  * Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
- * Copyright (c) 2005-2009 Brenden Matthews, Philip Kovacs, et. al.
+ * Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al.
  *     (see AUTHORS)
  * All rights reserved.
  *
  *
  */
 
+#include "mail.h"
+
 void clean_up(void *memtofree1, void* memtofree2);
+void clean_up_without_threads(void *memtofree1, void* memtofree2);
 
 #ifndef _LOGGING_H
 #define _LOGGING_H
@@ -40,7 +43,10 @@ void clean_up(void *memtofree1, void* memtofree2);
 
 /* critical error */
 #define CRIT_ERR(memtofree1, memtofree2, ...) \
-       { NORM_ERR(__VA_ARGS__); clean_up(memtofree1, memtofree2); exit(EXIT_FAILURE); }
+       { NORM_ERR(__VA_ARGS__); clean_up(memtofree1, memtofree2); free(current_mail_spool); exit(EXIT_FAILURE); }
+
+#define THREAD_CRIT_ERR(memtofree1, memtofree2, ...) \
+       { NORM_ERR(__VA_ARGS__); clean_up_without_threads(memtofree1, memtofree2); free(current_mail_spool); return; }
 
 /* debugging output */
 extern int global_debug_level;