gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r9518 - gnunet/src/util


From: gnunet
Subject: [GNUnet-SVN] r9518 - gnunet/src/util
Date: Sun, 15 Nov 2009 10:45:27 -0700

Author: grothoff
Date: 2009-11-15 10:45:26 -0700 (Sun, 15 Nov 2009)
New Revision: 9518

Modified:
   gnunet/src/util/connection.c
   gnunet/src/util/server.c
Log:
clean up address probes during destroy as well

Modified: gnunet/src/util/connection.c
===================================================================
--- gnunet/src/util/connection.c        2009-11-15 16:53:43 UTC (rev 9517)
+++ gnunet/src/util/connection.c        2009-11-15 17:45:26 UTC (rev 9518)
@@ -452,6 +452,7 @@
 {
   struct GNUNET_CONNECTION_Handle *sock = cls;
   GNUNET_CONNECTION_TransmitReadyNotify notify;
+  struct AddressProbe *pos;
 
   GNUNET_assert (sock->dns_active == NULL);
   if (0 != (sock->ccs & COCO_TRANSMIT_READY))
@@ -503,6 +504,13 @@
       GNUNET_RESOLVER_request_cancel (sock->dns_active);
       sock->dns_active = NULL;
     }
+  while (NULL != (pos = sock->ap_head))
+    {
+      GNUNET_break (GNUNET_OK == GNUNET_NETWORK_socket_close (pos->sock));
+      GNUNET_SCHEDULER_cancel (sock->sched, pos->task);
+      GNUNET_CONTAINER_DLL_remove (sock->ap_head, sock->ap_tail, pos);
+      GNUNET_free (pos);
+    }
   GNUNET_assert (sock->nth.timeout_task == GNUNET_SCHEDULER_NO_TASK);
   GNUNET_assert (sock->ccs == COCO_NONE);
   if (NULL != (notify = sock->nth.notify_ready))

Modified: gnunet/src/util/server.c
===================================================================
--- gnunet/src/util/server.c    2009-11-15 16:53:43 UTC (rev 9517)
+++ gnunet/src/util/server.c    2009-11-15 17:45:26 UTC (rev 9518)
@@ -298,9 +298,10 @@
                   "Server accepted incoming connection.\n");
 #endif
       client = GNUNET_SERVER_connect_socket (server, sock);
+      // GNUNET_CONNECTION_ignore_shutdown (sock, GNUNET_YES);
       /* decrement reference count, we don't keep "client" alive */
       GNUNET_SERVER_client_drop (client);
-    }
+    }  
   /* listen for more! */
   server->listen_task = GNUNET_SCHEDULER_add_select (server->sched,
                                                      
GNUNET_SCHEDULER_PRIORITY_HIGH,





reply via email to

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