fixing (hopefully) transport hang issue by checking tc->reason
authorNathan S. Evans <evans@in.tum.de>
Fri, 29 Jan 2010 16:19:05 +0000 (16:19 +0000)
committerNathan S. Evans <evans@in.tum.de>
Fri, 29 Jan 2010 16:19:05 +0000 (16:19 +0000)
src/transport/gnunet-service-transport.c

index ff2dc26305b1bbdc5a7bdaac448dd2b493e8e45e..bd0f332323fdaed6202da8bfa43b5bf246ad5559 100644 (file)
@@ -1670,9 +1670,12 @@ cleanup_validation (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
           first = GNUNET_TIME_absolute_min (first, pos->timeout);
           pos = pos->next;
         }
-      GNUNET_SCHEDULER_add_delayed (sched,
-                                    GNUNET_TIME_absolute_get_remaining
-                                    (first), &cleanup_validation, NULL);
+      if (tc->reason != GNUNET_SCHEDULER_REASON_SHUTDOWN)
+        {
+          GNUNET_SCHEDULER_add_delayed (sched,
+                                        GNUNET_TIME_absolute_get_remaining
+                                        (first), &cleanup_validation, NULL);
+        }
     }
 }