{
struct Session *session;
struct GSC_ClientActiveRequest *car;
+ struct SessionMessageEntry *sme;
session = find_session (pid);
if (NULL == session)
session->active_client_request_tail, car);
GSC_CLIENTS_reject_request (car);
}
+ while (NULL != (sme = session->sme_head))
+ {
+ GNUNET_CONTAINER_DLL_remove (session->sme_head, session->sme_tail, sme);
+ GNUNET_free (sme);
+ }
GNUNET_SCHEDULER_cancel (session->typemap_task);
GSC_CLIENTS_notify_clients_about_neighbour (&session->peer, NULL,
0 /* FIXME: ATSI */ ,
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Dropped client request for transmission (am disconnected)\n");
#endif
- GNUNET_break (0); /* should have been rejected earlier */
+ GNUNET_break (0); /* should have been rejected earlier */
GSC_CLIENTS_reject_request (car);
return;
}
solicit_messages (struct Session *session)
{
struct GSC_ClientActiveRequest *car;
+ struct GSC_ClientActiveRequest *nxt;
size_t so_size;
discard_expired_requests (session);
so_size = 0;
- for (car = session->active_client_request_head; NULL != car; car = car->next)
+ nxt = session->active_client_request_head;
+ while (NULL != (car = nxt))
{
+ nxt = car->next;
if (so_size + car->msize > GNUNET_CONSTANTS_MAX_ENCRYPTED_MESSAGE_SIZE)
break;
so_size += car->msize;