more efficient list deletion
authorNathan S. Evans <evans@in.tum.de>
Thu, 24 Feb 2011 13:34:32 +0000 (13:34 +0000)
committerNathan S. Evans <evans@in.tum.de>
Thu, 24 Feb 2011 13:34:32 +0000 (13:34 +0000)
src/testing/testing_group.c

index 65457817aa8255c6735d784bdd56a550c84cc43a..45bbcd026f38e00ac3583f8e91e5debdb8bc08ce 100644 (file)
@@ -4544,7 +4544,13 @@ choose_minimum (struct GNUNET_TESTING_PeerGroup *pg, unsigned int num)
   for (pg_iter = 0; pg_iter < pg->total; pg_iter++)
     {
       while (pg->peers[pg_iter].connect_peers_head != NULL)
-        remove_connections(pg, pg_iter, pg->peers[pg_iter].connect_peers_head->index, CONNECT, GNUNET_YES);
+        {
+          conn_iter = pg->peers[pg_iter].connect_peers_head;
+          GNUNET_CONTAINER_DLL_remove(pg->peers[pg_iter].connect_peers_head,
+              pg->peers[pg_iter].connect_peers_tail, pg->peers[pg_iter].connect_peers_head);
+          GNUNET_free(conn_iter);
+          /*remove_connections(pg, pg_iter, pg->peers[pg_iter].connect_peers_head->index, CONNECT, GNUNET_YES);*/
+        }
 
       pg->peers[pg_iter].connect_peers_head = pg->peers[pg_iter].connect_peers_working_set_head;
       pg->peers[pg_iter].connect_peers_tail = pg->peers[pg_iter].connect_peers_working_set_tail;