gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r10569 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r10569 - gnunet/src/util
Date: Fri, 12 Mar 2010 16:05:05 +0100

Author: grothoff
Date: 2010-03-12 16:05:05 +0100 (Fri, 12 Mar 2010)
New Revision: 10569

Modified:
   gnunet/src/util/connection.c
   gnunet/src/util/scheduler.c
   gnunet/src/util/server.c
Log:
handle being already disconnected

Modified: gnunet/src/util/connection.c
===================================================================
--- gnunet/src/util/connection.c        2010-03-12 15:02:03 UTC (rev 10568)
+++ gnunet/src/util/connection.c        2010-03-12 15:05:05 UTC (rev 10569)
@@ -1538,8 +1538,11 @@
     }
   else
     {
-      GNUNET_SCHEDULER_cancel (h->sh->sched, h->sh->write_task);
-      h->sh->write_task = GNUNET_SCHEDULER_NO_TASK;
+      if (h->sh->write_task != GNUNET_SCHEDULER_NO_TASK)
+       {
+         GNUNET_SCHEDULER_cancel (h->sh->sched, h->sh->write_task);
+         h->sh->write_task = GNUNET_SCHEDULER_NO_TASK;
+       }
     }
   h->notify_ready = NULL;
 }

Modified: gnunet/src/util/scheduler.c
===================================================================
--- gnunet/src/util/scheduler.c 2010-03-12 15:02:03 UTC (rev 10568)
+++ gnunet/src/util/scheduler.c 2010-03-12 15:05:05 UTC (rev 10569)
@@ -30,7 +30,8 @@
 #include "gnunet_time_lib.h"
 #ifdef LINUX
 #include "execinfo.h"
-#define EXECINFO GNUNET_NO
+#define EXECINFO GNUNET_YES
+#define MAX_TRACE_DEPTH 50
 #endif
 
 #define DEBUG_TASKS GNUNET_NO
@@ -1095,13 +1096,13 @@
 {
   struct Task *t;
 #if EXECINFO
-  void *backtrace_array[50];
+  void *backtrace_array[MAX_TRACE_DEPTH];
 #endif
   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)

Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c    2010-03-12 15:02:03 UTC (rev 10568)
+++ gnunet/src/util/server.c    2010-03-12 15:05:05 UTC (rev 10569)
@@ -1274,6 +1274,11 @@
       GNUNET_free (sb);
       return;
     }
+  if (client->server == NULL)
+    {
+      GNUNET_SERVER_client_disconnect (client);
+      return;
+    }
   client->restart_task = GNUNET_SCHEDULER_add_now (client->server->sched,
                                                   &restart_processing,
                                                   client);





reply via email to

[Prev in Thread] Current Thread [Next in Thread]