- if (success != GNUNET_ARM_PROCESS_STARTING)
- {
- GNUNET_break (0);
- ok = 2;
-#if START_ARM
- GNUNET_ARM_stop_service (arm, "arm", TIMEOUT, &arm_stopped, NULL);
-#endif
- }
- GNUNET_ARM_start_service (arm, "resolver", GNUNET_OS_INHERIT_STD_OUT_AND_ERR, START_TIMEOUT, &resolver_notify,
- NULL);
+ if (GNUNET_SYSERR == connected)
+ {
+ GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
+ _("Fatal error initializing ARM API.\n"));
+ GNUNET_SCHEDULER_shutdown ();
+ GNUNET_assert (0);
+ return;
+ }
+ if (GNUNET_YES == connected)
+ {
+ /* (1), arm connection should be established */
+ LOG ("Connected to ARM\n");
+ GNUNET_break (phase == 1);
+ phase++;
+ GNUNET_assert (NULL == op);
+ op = GNUNET_ARM_request_service_start (arm,
+ "resolver",
+ GNUNET_OS_INHERIT_STD_OUT_AND_ERR,
+ &resolver_start_cb,
+ NULL);
+ }
+ else
+ {
+ /* (7), ARM should stop (we disconnect from it) */
+ LOG ("Disconnected from ARM\n");
+ GNUNET_break (phase == 7);
+ if (phase != 7)
+ ok = 3;
+ else if (ok == 1)
+ ok = 0;
+ }