diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-11-27 13:55:23 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-11-27 13:55:23 +0000 |
commit | e98619f67a3e1ddf4962c20f77c7a1a669345eaa (patch) | |
tree | 50f3a427277571036043bde17e11f8b85fd2b4d6 /src/set/gnunet-service-set.c | |
parent | 1d96a7f8dc2aa6311eae76e60a92eb2a2b397fe2 (diff) | |
download | gnunet-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.c | 4 |
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 | ||