aboutsummaryrefslogtreecommitdiff
path: root/src/set/gnunet-service-set.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-11-27 13:55:23 +0000
committerChristian Grothoff <christian@grothoff.org>2014-11-27 13:55:23 +0000
commite98619f67a3e1ddf4962c20f77c7a1a669345eaa (patch)
tree50f3a427277571036043bde17e11f8b85fd2b4d6 /src/set/gnunet-service-set.c
parent1d96a7f8dc2aa6311eae76e60a92eb2a2b397fe2 (diff)
downloadgnunet-e98619f67a3e1ddf4962c20f77c7a1a669345eaa.tar.gz
gnunet-e98619f67a3e1ddf4962c20f77c7a1a669345eaa.zip
adding logic to allow GNUNET_SET_iterate_cancel
Diffstat (limited to 'src/set/gnunet-service-set.c')
-rw-r--r--src/set/gnunet-service-set.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/set/gnunet-service-set.c b/src/set/gnunet-service-set.c
index 5e1b89936..b2c3da7dc 100644
--- a/src/set/gnunet-service-set.c
+++ b/src/set/gnunet-service-set.c
@@ -410,6 +410,7 @@ set_destroy (struct Set *set)
410 { 410 {
411 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter); 411 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter);
412 set->iter = NULL; 412 set->iter = NULL;
413 set->iteration_id++;
413 } 414 }
414 if (NULL != set->elements) 415 if (NULL != set->elements)
415 { 416 {
@@ -667,6 +668,7 @@ send_client_element (struct Set *set)
667 ev = GNUNET_MQ_msg_header (GNUNET_MESSAGE_TYPE_SET_ITER_DONE); 668 ev = GNUNET_MQ_msg_header (GNUNET_MESSAGE_TYPE_SET_ITER_DONE);
668 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter); 669 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter);
669 set->iter = NULL; 670 set->iter = NULL;
671 set->iteration_id++;
670 } 672 }
671 else 673 else
672 { 674 {
@@ -678,6 +680,7 @@ send_client_element (struct Set *set)
678 ee->element.data, 680 ee->element.data,
679 ee->element.size); 681 ee->element.size);
680 msg->element_type = ee->element.element_type; 682 msg->element_type = ee->element.element_type;
683 msg->iteration_id = htons (set->iteration_id);
681 } 684 }
682 GNUNET_MQ_send (set->client_mq, ev); 685 GNUNET_MQ_send (set->client_mq, ev);
683} 686}
@@ -1097,6 +1100,7 @@ handle_client_iter_ack (void *cls,
1097 { 1100 {
1098 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter); 1101 GNUNET_CONTAINER_multihashmap_iterator_destroy (set->iter);
1099 set->iter = NULL; 1102 set->iter = NULL;
1103 set->iteration_id++;
1100 } 1104 }
1101} 1105}
1102 1106