don't bypass GNUnet IO
[oweals/gnunet.git] / src / util / scheduler.c
index 7b6f86c9e894b74962c449ef6162d56d27f8e4ef..b5d998ef598c35fb6a8c224125de39b6c9f2f530 100644 (file)
@@ -31,6 +31,7 @@
 #ifdef LINUX
 #include "execinfo.h"
 #define EXECINFO GNUNET_NO
+#define MAX_TRACE_DEPTH 50
 #endif
 
 #define DEBUG_TASKS GNUNET_NO
@@ -1095,13 +1096,15 @@ GNUNET_SCHEDULER_add_select (struct GNUNET_SCHEDULER_Handle * sched,
 {
   struct Task *t;
 #if EXECINFO
-  void *backtrace_array[50];
+  void *backtrace_array[MAX_TRACE_DEPTH];
 #endif
+
+  GNUNET_assert (NULL != task);
   t = GNUNET_malloc (sizeof (struct Task));
   t->callback = task;
   t->callback_cls = task_cls;
 #if EXECINFO
-  t->num_backtrace_strings = backtrace(backtrace_array, 50);
+  t->num_backtrace_strings = backtrace(backtrace_array, MAX_TRACE_DEPTH);
   t->backtrace_strings = backtrace_symbols(backtrace_array, t->num_backtrace_strings);
 #endif
   if (rs != NULL)