diff options
Diffstat (limited to 'src/regex/gnunet-service-regex.c')
-rw-r--r-- | src/regex/gnunet-service-regex.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/regex/gnunet-service-regex.c b/src/regex/gnunet-service-regex.c index 96a6b82b1..e44d11b7d 100644 --- a/src/regex/gnunet-service-regex.c +++ b/src/regex/gnunet-service-regex.c | |||
@@ -212,8 +212,18 @@ handle_announce (void *cls, | |||
212 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); | 212 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); |
213 | return; | 213 | return; |
214 | } | 214 | } |
215 | |||
215 | ce = GNUNET_new (struct ClientEntry); | 216 | ce = GNUNET_new (struct ClientEntry); |
216 | ce->client = client; | 217 | ce->client = client; |
218 | ce->frequency = GNUNET_TIME_relative_ntoh (am->refresh_delay); | ||
219 | ce->refresh_task = GNUNET_SCHEDULER_add_delayed (ce->frequency, | ||
220 | &reannounce, | ||
221 | ce); | ||
222 | GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, | ||
223 | "Starting to announce regex `%s' every %s\n", | ||
224 | regex, | ||
225 | GNUNET_STRINGS_relative_time_to_string (ce->frequency, | ||
226 | GNUNET_NO)); | ||
217 | ce->ah = REGEX_INTERNAL_announce (dht, | 227 | ce->ah = REGEX_INTERNAL_announce (dht, |
218 | my_private_key, | 228 | my_private_key, |
219 | regex, | 229 | regex, |
@@ -222,14 +232,11 @@ handle_announce (void *cls, | |||
222 | if (NULL == ce->ah) | 232 | if (NULL == ce->ah) |
223 | { | 233 | { |
224 | GNUNET_break (0); | 234 | GNUNET_break (0); |
235 | GNUNET_SCHEDULER_cancel (ce->refresh_task); | ||
225 | GNUNET_free (ce); | 236 | GNUNET_free (ce); |
226 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); | 237 | GNUNET_SERVER_receive_done (client, GNUNET_SYSERR); |
227 | return; | 238 | return; |
228 | } | 239 | } |
229 | ce->frequency = GNUNET_TIME_relative_ntoh (am->refresh_delay); | ||
230 | ce->refresh_task = GNUNET_SCHEDULER_add_delayed (ce->frequency, | ||
231 | &reannounce, | ||
232 | ce); | ||
233 | GNUNET_CONTAINER_DLL_insert (client_head, | 240 | GNUNET_CONTAINER_DLL_insert (client_head, |
234 | client_tail, | 241 | client_tail, |
235 | ce); | 242 | ce); |