gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r26407 - gnunet/src/arm


From: gnunet
Subject: [GNUnet-SVN] r26407 - gnunet/src/arm
Date: Wed, 13 Mar 2013 22:01:30 +0100

Author: LRN
Date: 2013-03-13 22:01:29 +0100 (Wed, 13 Mar 2013)
New Revision: 26407

Modified:
   gnunet/src/arm/test_gnunet_service_arm.c
Log:
Modify one of the tests to check service list

Modified: gnunet/src/arm/test_gnunet_service_arm.c
===================================================================
--- gnunet/src/arm/test_gnunet_service_arm.c    2013-03-13 21:01:26 UTC (rev 
26406)
+++ gnunet/src/arm/test_gnunet_service_arm.c    2013-03-13 21:01:29 UTC (rev 
26407)
@@ -40,6 +40,10 @@
 
 static int ret = 1;
 
+static int resolved_ok = 0;
+
+static int asked_for_a_list = 0;
+
 static struct GNUNET_ARM_Handle *arm;
 
 static void
@@ -60,22 +64,37 @@
 }
 
 static void
+service_list (void *cls, struct GNUNET_ARM_Handle *arm,
+    enum GNUNET_ARM_RequestStatus rs,
+    unsigned int count, const char *const*list)
+{
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "%u services are are currently 
running\n", count);
+  GNUNET_assert (count == 1);
+  GNUNET_break (0 == strcasecmp (list[0], "resolver 
(gnunet-service-resolver)"));
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Got service list, now stopping arm\n");
+  ret = 0;
+  GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
+}
+
+static void
 hostNameResolveCB (void *cls, const struct sockaddr *addr, socklen_t addrlen)
 {
-  if ((ret == 0) || (ret == 4))
+  if ((ret == 0) || (ret == 4) || (resolved_ok == 1))
     return;
   if (NULL == addr)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Name not resolved!\n");
     ret = 3;
+    GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
   }
-  else
+  else if (asked_for_a_list == 0)
   {
     GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
-        "Resolved hostname, now stopping ARM\n");
-    ret = 0;
+        "Resolved hostname, now checking the service list\n");
+    GNUNET_ARM_request_service_list (arm, TIMEOUT, service_list, NULL);
+    asked_for_a_list = 1;
+    resolved_ok = 1;
   }
-  GNUNET_ARM_request_service_stop (arm, "arm", TIMEOUT, arm_stop_cb, NULL);
 }
 
 static void




reply via email to

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