summaryrefslogtreecommitdiffstats
path: root/tdeio/tdeio/slavebase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tdeio/tdeio/slavebase.cpp')
-rw-r--r--tdeio/tdeio/slavebase.cpp10
1 files changed, 4 insertions, 6 deletions
diff --git a/tdeio/tdeio/slavebase.cpp b/tdeio/tdeio/slavebase.cpp
index d4aa8ca26..83b2a9889 100644
--- a/tdeio/tdeio/slavebase.cpp
+++ b/tdeio/tdeio/slavebase.cpp
@@ -66,10 +66,10 @@
#endif
#endif
-#ifndef NDEBUG
-#ifdef HAVE_BACKTRACE
+#ifndef NDEBUG
void print_trace()
{
+#if defined(HAVE_BACKTRACE) && defined(HAVE_DEMANGLE_H)
void *array[10];
size_t size;
char **strings;
@@ -85,9 +85,9 @@ void print_trace()
}
free (strings);
+#endif // defined(HAVE_BACKTRACE) && defined(HAVE_DEMANGLE_H)
}
-#endif
-#endif
+#endif // NDEBUG
using namespace TDEIO;
@@ -765,10 +765,8 @@ void SlaveBase::sigsegv_handler(int sig)
snprintf(buffer, sizeof(buffer), "tdeioslave: ####### CRASH ###### protocol = %s pid = %d signal = %d\n", s_protocol, getpid(), sig);
write(2, buffer, strlen(buffer));
#ifndef NDEBUG
-#ifdef HAVE_BACKTRACE
print_trace();
#endif
-#endif
::exit(1);
#endif
}