if (buf == NULL)
{
GNUNET_SERVER_receive_done (tc->client, GNUNET_SYSERR);
+ GNUNET_SERVER_client_drop (tc->client);
GNUNET_free_non_null (tc->buf);
GNUNET_free (tc);
return 0;
if (tc->total == tc->off)
{
GNUNET_SERVER_receive_done (tc->client, GNUNET_OK);
+ GNUNET_SERVER_client_drop (tc->client);
GNUNET_free_non_null (tc->buf);
GNUNET_free (tc);
}
{
GNUNET_break (0);
GNUNET_SERVER_receive_done (tc->client, GNUNET_SYSERR);
+ GNUNET_SERVER_client_drop (tc->client);
GNUNET_free_non_null (tc->buf);
GNUNET_free (tc);
}
GNUNET_assert (client != NULL);
tc = GNUNET_malloc (sizeof (struct GNUNET_SERVER_TransmitContext));
+ GNUNET_SERVER_client_keep (client);
tc->client = client;
return tc;
}
{
GNUNET_break (0);
GNUNET_SERVER_receive_done (tc->client, GNUNET_SYSERR);
+ GNUNET_SERVER_client_drop (tc->client);
GNUNET_free_non_null (tc->buf);
GNUNET_free (tc);
}