[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11920 - gnunet/src/util
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11920 - gnunet/src/util |
Date: |
Thu, 24 Jun 2010 13:23:46 +0200 |
Author: nevans
Date: 2010-06-24 13:23:46 +0200 (Thu, 24 Jun 2010)
New Revision: 11920
Modified:
gnunet/src/util/scheduler.c
Log:
fix execinfo debugging so it doesn't deref NULL pointer, still not entirely
useful for the common person
Modified: gnunet/src/util/scheduler.c
===================================================================
--- gnunet/src/util/scheduler.c 2010-06-24 11:13:52 UTC (rev 11919)
+++ gnunet/src/util/scheduler.c 2010-06-24 11:23:46 UTC (rev 11920)
@@ -34,7 +34,7 @@
/**
* Use lsof to generate file descriptor reports on select error?
- * (turn of for stable releases).
+ * (turn off for stable releases).
*/
#define USE_LSOF GNUNET_YES
@@ -548,26 +548,26 @@
"Task %u took %llums to be scheduled\n",
pos->id,
(unsigned long long) GNUNET_TIME_absolute_get_duration
(pos->start_time).value);
-#if EXECINFO
- int i;
- for (i=0;i<pos->num_backtrace_strings;i++)
- GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- "Task %u trace %d: %s\n",
- pos->id,
- i,
- pos->backtrace_strings[i]);
-#endif
}
#endif
tc.sched = sched;
tc.reason = pos->reason;
tc.read_ready = pos->read_set;
tc.write_ready = pos->write_set;
- pos->callback (pos->callback_cls, &tc);
#if DEBUG_TASKS
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Running task: %llu / %p\n", pos->id, pos->callback_cls);
#endif
+ pos->callback (pos->callback_cls, &tc);
+#if EXECINFO
+ int i;
+ for (i=0;i<pos->num_backtrace_strings;i++)
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ "Task %u trace %d: %s\n",
+ pos->id,
+ i,
+ pos->backtrace_strings[i]);
+#endif
sched->active_task = NULL;
destroy_task (pos);
sched->tasks_run++;
@@ -664,6 +664,7 @@
{
if (errno == EINTR)
continue;
+
GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "select");
#ifndef MINGW
#if USE_LSOF
@@ -778,7 +779,9 @@
struct Task *prev;
enum GNUNET_SCHEDULER_Priority p;
void *ret;
-
+#if EXECINFO
+ int i;
+#endif
prev = NULL;
t = sched->pending;
while (t != NULL)
@@ -1208,6 +1211,16 @@
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Adding task: %llu / %p\n", t->id, t->callback_cls);
#endif
+#if EXECINFO
+ int i;
+
+ for (i=0;i<t->num_backtrace_strings;i++)
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Task %u trace %d: %s\n",
+ t->id,
+ i,
+ t->backtrace_strings[i]);
+#endif
return t->id;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11920 - gnunet/src/util,
gnunet <=