gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r17910 - gnunet/src/vpn


From: gnunet
Subject: [GNUnet-SVN] r17910 - gnunet/src/vpn
Date: Wed, 2 Nov 2011 11:21:37 +0100

Author: toelke
Date: 2011-11-02 11:21:36 +0100 (Wed, 02 Nov 2011)
New Revision: 17910

Modified:
   gnunet/src/vpn/gnunet-service-dns.c
Log:
cancel any pending request to a client that just disconnects

Modified: gnunet/src/vpn/gnunet-service-dns.c
===================================================================
--- gnunet/src/vpn/gnunet-service-dns.c 2011-11-02 10:14:48 UTC (rev 17909)
+++ gnunet/src/vpn/gnunet-service-dns.c 2011-11-02 10:21:36 UTC (rev 17910)
@@ -29,6 +29,7 @@
 #include "gnunet_network_lib.h"
 #include "gnunet_os_lib.h"
 #include "gnunet-service-dns-p.h"
+#include "gnunet_connection_lib.h"
 #include "gnunet_protocols.h"
 #include "gnunet_applications.h"
 #include "gnunet-vpn-packet.h"
@@ -125,11 +126,21 @@
   struct GNUNET_MESH_TransmitHandle *th;
 };
 
+static size_t send_answer (void *cls, size_t size, void *buf);
+
 static void
 client_disconnect(void* cls, struct GNUNET_SERVER_Client *client)
 {
   if (NULL == head) return;
 
+  if (head->client == client)
+    {
+      GNUNET_CONNECTION_notify_transmit_ready_cancel(server_notify);
+      server_notify = GNUNET_SERVER_notify_transmit_ready (head->next->client, 
ntohs (head->next->pkt.hdr.size),
+                                                           
GNUNET_TIME_UNIT_FOREVER_REL,
+                                                           &send_answer, NULL);
+    }
+
   struct answer_packet_list *element = head;
   while (element != NULL)
     {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]