* matts patch fixing the ecrash <-> autoconf interferance.
authorWilfried Göesgens <willi@citadel.org>
Sat, 1 Sep 2007 08:51:52 +0000 (08:51 +0000)
committerWilfried Göesgens <willi@citadel.org>
Sat, 1 Sep 2007 08:51:52 +0000 (08:51 +0000)
citadel/ecrash.c
citadel/sysdep.c

index f67e6776232243ec0b34bdb7d566476ece301580..47effcd345d9f7209bd68ca95023ca8e3365fdc3 100644 (file)
 #include <fcntl.h>
 #include <sys/types.h>
 #include <sys/stat.h>
-#include <execinfo.h>
 #include <pthread.h>
 #include "sysdep_decls.h"
 #include "ecrash.h"
 
 #define NIY()  printf("%s: Not Implemented Yet!\n", __FUNCTION__)
 #ifdef HAVE_BACKTRACE
+#include <execinfo.h>
 static eCrashParameters gbl_params;
 static int gbl_fd=-1;
 
index 0de30ff225d27f45dbf16b776811ac6fe3ebf916..1d24919c7ac02c042629948a5701b2ffb664f3a5 100644 (file)
@@ -772,7 +772,9 @@ void sysdep_master_cleanup(void) {
        CtdlDestroyFixedOutputHooks();  
        CtdlDestroySessionHooks();
        CtdlDestroyServiceHook();
+       #ifdef HAVE_BACKTRACE
        eCrash_Uninit();
+       #endif
 }
 
 
@@ -1158,8 +1160,9 @@ void *worker_thread(void *arg) {
        cdb_allocate_tsd();
 
        // Register for tracing
+       #ifdef HAVE_BACKTRACE
        eCrash_RegisterThread("WorkerThread", 0);
-
+       #endif
        while (!time_to_die) {
 
                /* make doubly sure we're not holding any stale db handles
@@ -1339,7 +1342,9 @@ SKIP_SELECT:
        }
        if (con != NULL) free (con);//// TODO: could this harm other threads? 
        /* If control reaches this point, the server is shutting down */        
+       #ifdef HAVE_BACKTRACE
        eCrash_UnregisterThread();
+       #endif
        return(NULL);
 }