- begin work on enhanced multipart receiving
[oweals/gnunet.git] / src / mesh / gnunet-service-mesh.c
index d187c93af3bf7ad0d2e41ef8a02047d7acff304a..b4df7cb4812ffd166eaae47abc621a3e464cb3fc 100644 (file)
@@ -75,6 +75,12 @@ GNUNET_PEER_Id myid;
  */
 struct GNUNET_PeerIdentity my_full_id;
 
+
+/**
+ * Signal that shutdown is happening: prevent recover measures.
+ */
+int shutting_down;
+
 /*************************** Static global variables **************************/
 
 /**
@@ -98,12 +104,16 @@ shutdown_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "shutting down\n");
 
+  shutting_down = GNUNET_YES;
+
   GML_shutdown ();
   GMD_shutdown ();
-  GMP_shutdown ();
   GMC_shutdown ();
   GMT_shutdown ();
+  GMP_shutdown ();
 
+  GNUNET_STATISTICS_destroy (stats, GNUNET_NO);
+  stats = NULL;
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "shut down\n");
 }
 
@@ -158,12 +168,11 @@ main (int argc, char *const *argv)
   int ret;
   int r;
 
-  fprintf (stderr, "main()\n");
+  shutting_down = GNUNET_NO;
   r = GNUNET_SERVICE_run (argc, argv, "mesh", GNUNET_SERVICE_OPTION_NONE, &run,
                           NULL);
   GNUNET_free (my_private_key);
   ret = (GNUNET_OK == r) ? 0 : 1;
-  fprintf (stderr, "main() END\n");
 
   return ret;
 }