aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBart Polot <bart@net.in.tum.de>2013-02-04 10:50:26 +0000
committerBart Polot <bart@net.in.tum.de>2013-02-04 10:50:26 +0000
commit90a2eb8e2bd735ddfaac2171fbf2f62f8ed2c91e (patch)
tree7f408bac4d816f0d7197628bc58cc824412807fa /src
parente821862808781a260728b1dfe3b8603b8c56d225 (diff)
downloadgnunet-90a2eb8e2bd735ddfaac2171fbf2f62f8ed2c91e.tar.gz
gnunet-90a2eb8e2bd735ddfaac2171fbf2f62f8ed2c91e.zip
- make a copy of the regex for announcing
Diffstat (limited to 'src')
-rw-r--r--src/regex/gnunet-daemon-regexprofiler.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/regex/gnunet-daemon-regexprofiler.c b/src/regex/gnunet-daemon-regexprofiler.c
index a542facd7..f172011f8 100644
--- a/src/regex/gnunet-daemon-regexprofiler.c
+++ b/src/regex/gnunet-daemon-regexprofiler.c
@@ -149,7 +149,10 @@ reannounce_regex (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
149 char *regex = cls; 149 char *regex = cls;
150 reannounce_task = GNUNET_SCHEDULER_NO_TASK; 150 reannounce_task = GNUNET_SCHEDULER_NO_TASK;
151 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN)) 151 if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
152 {
153 GNUNET_free (regex);
152 return; 154 return;
155 }
153 156
154 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Announcing regex: %s\n", regex); 157 GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Announcing regex: %s\n", regex);
155 GNUNET_STATISTICS_update (stats_handle, "# regexes announced", 1, GNUNET_NO); 158 GNUNET_STATISTICS_update (stats_handle, "# regexes announced", 1, GNUNET_NO);
@@ -184,6 +187,8 @@ reannounce_regex (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
184static void 187static void
185announce_regex (const char * regex) 188announce_regex (const char * regex)
186{ 189{
190 char *copy;
191
187 if (NULL == regex || 0 == strlen (regex)) 192 if (NULL == regex || 0 == strlen (regex))
188 { 193 {
189 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot announce empty regex\n"); 194 GNUNET_log (GNUNET_ERROR_TYPE_ERROR, "Cannot announce empty regex\n");
@@ -191,9 +196,10 @@ announce_regex (const char * regex)
191 } 196 }
192 197
193 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == reannounce_task); 198 GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == reannounce_task);
199 copy = GNUNET_strdup (regex);
194 reannounce_task = GNUNET_SCHEDULER_add_delayed (announce_delay, 200 reannounce_task = GNUNET_SCHEDULER_add_delayed (announce_delay,
195 reannounce_regex, 201 reannounce_regex,
196 (void *) regex); 202 (void *) copy);
197} 203}
198 204
199 205