-fixing #2459
[oweals/gnunet.git] / src / statistics / gnunet-service-statistics.c
index 2b60d760b9568af0e2d160f941180292edde5c6d..efd8346245e1d911f5fec6cdc499d972a5b344ae 100644 (file)
@@ -214,12 +214,13 @@ static int in_shutdown;
  * @param client unused
  * @param msg message to inject
  */
-static void
+static int
 inject_message (void *cls, void *client, const struct GNUNET_MessageHeader *msg)
 {
   struct GNUNET_SERVER_Handle *server = cls;
 
   GNUNET_break (GNUNET_OK == GNUNET_SERVER_inject (server, NULL, msg));
+  return GNUNET_OK;
 }
 
 
@@ -651,6 +652,7 @@ handle_watch (void *cls, struct GNUNET_SERVER_Client *client,
     GNUNET_SERVER_receive_done (client, GNUNET_SYSERR);
     return;
   }
+  GNUNET_SERVER_client_mark_monitor (client);
   ce = make_client_entry (client);
   msize = ntohs (message->size);
   if (msize < sizeof (struct GNUNET_MessageHeader))
@@ -844,7 +846,7 @@ main (int argc, char *const *argv)
 {
   return (GNUNET_OK ==
           GNUNET_SERVICE_run (argc, argv, "statistics",
-                              GNUNET_SERVICE_OPTION_NONE, &run, NULL)) ? 0 : 1;
+                              GNUNET_SERVICE_OPTION_SOFT_SHUTDOWN, &run, NULL)) ? 0 : 1;
 }
 
 /* end of gnunet-service-statistics.c */