aboutsummaryrefslogtreecommitdiff
path: root/src/regex/gnunet-daemon-regexprofiler.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
committerChristian Grothoff <christian@grothoff.org>2016-04-30 08:17:37 +0000
commit95f9076a2139f5fb042b944a0658b6cda2fa35db (patch)
treeb0826a2a1dcf812e6b4450fe6b05d47cd53ae49d /src/regex/gnunet-daemon-regexprofiler.c
parent7746f68db77b9ca3c4aaca24ab2ce5253461240b (diff)
implementing new scheduler shutdown semantics
Diffstat (limited to 'src/regex/gnunet-daemon-regexprofiler.c')
-rw-r--r--src/regex/gnunet-daemon-regexprofiler.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/regex/gnunet-daemon-regexprofiler.c b/src/regex/gnunet-daemon-regexprofiler.c
index 1ff3b55e36..42fc8ace0f 100644
--- a/src/regex/gnunet-daemon-regexprofiler.c
+++ b/src/regex/gnunet-daemon-regexprofiler.c
@@ -117,7 +117,11 @@ shutdown_task (void *cls)
REGEX_INTERNAL_announce_cancel (announce_handle);
announce_handle = NULL;
}
-
+ if (NULL != reannounce_task)
+ {
+ GNUNET_free (GNUNET_SCHEDULER_cancel (reannounce_task));
+ reannounce_task = NULL;
+ }
if (NULL != dht_handle)
{
GNUNET_DHT_disconnect (dht_handle);
@@ -142,16 +146,8 @@ reannounce_regex (void *cls)
{
char *regex = cls;
struct GNUNET_TIME_Relative random_delay;
- const struct GNUNET_SCHEDULER_TaskContext *tc;
reannounce_task = NULL;
- tc = GNUNET_SCHEDULER_get_task_context ();
- if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
- {
- GNUNET_free (regex);
- return;
- }
-
if (0 == rounds--)
{
global_ret = 0;
@@ -195,7 +191,7 @@ reannounce_regex (void *cls)
* @param regex regular expression to announce on this peer's cadet.
*/
static void
-announce_regex (const char * regex)
+announce_regex (const char *regex)
{
char *copy;
@@ -210,7 +206,8 @@ announce_regex (const char * regex)
policy_filename);
GNUNET_assert (NULL == reannounce_task);
copy = GNUNET_strdup (regex);
- reannounce_task = GNUNET_SCHEDULER_add_now (reannounce_regex, (void *) copy);
+ reannounce_task = GNUNET_SCHEDULER_add_now (&reannounce_regex,
+ (void *) copy);
}
@@ -347,14 +344,17 @@ run (void *cls, char *const *args GNUNET_UNUSED,
REGEX_TEST_free_from_file (components);
/* Announcing regexes from policy_filename */
- GNUNET_asprintf (&rx_with_pfx, "%s(%s)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*", regex_prefix, regex);
+ GNUNET_asprintf (&rx_with_pfx,
+ "%s(%s)(0|1|2|3|4|5|6|7|8|9|a|b|c|d|e|f)*",
+ regex_prefix,
+ regex);
announce_regex (rx_with_pfx);
GNUNET_free (regex);
GNUNET_free (rx_with_pfx);
/* Scheduled the task to clean up when shutdown is called */
- GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, &shutdown_task,
- NULL);
+ GNUNET_SCHEDULER_add_shutdown (&shutdown_task,
+ NULL);
}