- LOG (GNUNET_ERROR_TYPE_DEBUG, "Received message of type %u and size %u from %s service.\n",
- ntohs (cmsg->type), msize, client->service_name);
- client->receive_task = GNUNET_SCHEDULER_NO_TASK;
+ client->receive_task = NULL;
+ if ( (GNUNET_SYSERR == client->in_receive) &&
+ (GNUNET_YES != client->msg_complete) )
+ {
+ /* Connection failure, signal to caller! */
+ client->receiver_handler = NULL;
+ if (NULL != handler)
+ handler (handler_cls,
+ NULL);
+ return;
+ }
+ LOG (GNUNET_ERROR_TYPE_DEBUG,
+ "Received message of type %u and size %u from %s service.\n",
+ ntohs (cmsg->type),
+ msize,
+ client->service_name);