diff options
author | Bart Polot <bart@net.in.tum.de> | 2013-02-04 10:50:26 +0000 |
---|---|---|
committer | Bart Polot <bart@net.in.tum.de> | 2013-02-04 10:50:26 +0000 |
commit | 90a2eb8e2bd735ddfaac2171fbf2f62f8ed2c91e (patch) | |
tree | 7f408bac4d816f0d7197628bc58cc824412807fa /src | |
parent | e821862808781a260728b1dfe3b8603b8c56d225 (diff) | |
download | gnunet-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.c | 8 |
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) | |||
184 | static void | 187 | static void |
185 | announce_regex (const char * regex) | 188 | announce_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 | ||