finish (handle, GNUNET_SYSERR);
return 0;
}
+#if DEBUG_STATISTICS
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Transmitting watch request for `%s'\n",
+ handle->current->name);
+#endif
slen1 = strlen (handle->current->subsystem) + 1;
slen2 = strlen (handle->current->name) + 1;
msize = slen1 + slen2 + sizeof (struct GNUNET_MessageHeader);
2,
handle->current->subsystem,
handle->current->name));
- if (! handle->receiving)
+ if (GNUNET_YES != handle->receiving)
{
handle->receiving = GNUNET_YES;
GNUNET_CLIENT_receive (handle->client,
handle,
GNUNET_TIME_UNIT_FOREVER_REL);
}
+ finish (handle, GNUNET_OK);
return msize;
}
ret->cfg = cfg;
ret->subsystem = GNUNET_strdup (subsystem);
ret->backoff = GNUNET_TIME_UNIT_MILLISECONDS;
- try_connect (ret);
+ if (GNUNET_YES != try_connect (ret))
+ {
+ GNUNET_free (ret->subsystem);
+ GNUNET_free (ret);
+ return NULL;
+ }
return ret;
}
struct GNUNET_TIME_Relative timeout;
int i;
+ if (h == NULL) return;
if (GNUNET_SCHEDULER_NO_TASK != h->backoff_task)
GNUNET_SCHEDULER_cancel (h->backoff_task);
if (sync_first)
}
}
+
/**
* Get statistic from the peer.
*
{
struct GNUNET_STATISTICS_WatchEntry *w;
+ if (handle == NULL)
+ return GNUNET_SYSERR;
w = GNUNET_malloc (sizeof (struct GNUNET_STATISTICS_WatchEntry));
w->subsystem = GNUNET_strdup (subsystem);
w->name = GNUNET_strdup (name);