aboutsummaryrefslogtreecommitdiff
path: root/src/arm/test_arm_api.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2010-05-07 09:42:24 +0000
committerChristian Grothoff <christian@grothoff.org>2010-05-07 09:42:24 +0000
commit3d6353b9601e966a7aedd294beb8b78363911bb2 (patch)
tree2ede39bdc6415c4d829f985cd251aa8469128e8c /src/arm/test_arm_api.c
parentcd6145855d32f8fdb54db5696667ca17997d321f (diff)
downloadgnunet-3d6353b9601e966a7aedd294beb8b78363911bb2.tar.gz
gnunet-3d6353b9601e966a7aedd294beb8b78363911bb2.zip
make error more robust
Diffstat (limited to 'src/arm/test_arm_api.c')
-rw-r--r--src/arm/test_arm_api.c31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/arm/test_arm_api.c b/src/arm/test_arm_api.c
index 7fab89ca7..66201aebe 100644
--- a/src/arm/test_arm_api.c
+++ b/src/arm/test_arm_api.c
@@ -49,9 +49,9 @@ static int ok = 1;
49static void 49static void
50arm_stopped (void *cls, int success) 50arm_stopped (void *cls, int success)
51{ 51{
52 if (success != GNUNET_NO) 52 if (success != GNUNET_NO)
53 ok = 1; 53 ok = 3;
54 else 54 else if (ok == 1)
55 ok = 0; 55 ok = 0;
56} 56}
57 57
@@ -70,7 +70,11 @@ dns_notify (void *cls, const struct sockaddr *addr, socklen_t addrlen)
70{ 70{
71 if (addr == NULL) 71 if (addr == NULL)
72 { 72 {
73 GNUNET_assert (ok == 0); 73 if (ok != 0)
74 {
75 GNUNET_break (0);
76 ok = 2;
77 }
74 GNUNET_ARM_stop_service (arm, "resolver", TIMEOUT, &arm_notify_stop, NULL); 78 GNUNET_ARM_stop_service (arm, "resolver", TIMEOUT, &arm_notify_stop, NULL);
75 return; 79 return;
76 } 80 }
@@ -82,7 +86,15 @@ dns_notify (void *cls, const struct sockaddr *addr, socklen_t addrlen)
82static void 86static void
83resolver_notify (void *cls, int success) 87resolver_notify (void *cls, int success)
84{ 88{
85 GNUNET_assert (success == GNUNET_YES); 89 if (success != GNUNET_YES)
90 {
91 GNUNET_break (0);
92 ok = 2;
93#if START_ARM
94 GNUNET_ARM_stop_service (arm, "arm", TIMEOUT, &arm_stopped, NULL);
95#endif
96 return;
97 }
86 GNUNET_RESOLVER_ip_get (sched, 98 GNUNET_RESOLVER_ip_get (sched,
87 cfg, 99 cfg,
88 "localhost", AF_INET, TIMEOUT, &dns_notify, NULL); 100 "localhost", AF_INET, TIMEOUT, &dns_notify, NULL);
@@ -92,7 +104,14 @@ resolver_notify (void *cls, int success)
92static void 104static void
93arm_notify (void *cls, int success) 105arm_notify (void *cls, int success)
94{ 106{
95 GNUNET_assert (success == GNUNET_YES); 107 if (success != GNUNET_YES)
108 {
109 GNUNET_break (0);
110 ok = 2;
111#if START_ARM
112 GNUNET_ARM_stop_service (arm, "arm", TIMEOUT, &arm_stopped, NULL);
113#endif
114 }
96 GNUNET_ARM_start_service (arm, "resolver", START_TIMEOUT, &resolver_notify, NULL); 115 GNUNET_ARM_start_service (arm, "resolver", START_TIMEOUT, &resolver_notify, NULL);
97} 116}
98 117