diff options
Diffstat (limited to 'src/fs/gnunet-fs-profiler.c')
-rw-r--r-- | src/fs/gnunet-fs-profiler.c | 29 |
1 files changed, 23 insertions, 6 deletions
diff --git a/src/fs/gnunet-fs-profiler.c b/src/fs/gnunet-fs-profiler.c index 69433346f..cfbe57bbd 100644 --- a/src/fs/gnunet-fs-profiler.c +++ b/src/fs/gnunet-fs-profiler.c | |||
@@ -105,7 +105,7 @@ process_stats (void *cls, | |||
105 | 105 | ||
106 | 106 | ||
107 | /** | 107 | /** |
108 | * Task run on timeout to terminate. Triggers printing out | 108 | * Task run on shutdown to terminate. Triggers printing out |
109 | * all statistics. | 109 | * all statistics. |
110 | * | 110 | * |
111 | * @param cls NULL | 111 | * @param cls NULL |
@@ -113,7 +113,11 @@ process_stats (void *cls, | |||
113 | static void | 113 | static void |
114 | terminate_task (void *cls) | 114 | terminate_task (void *cls) |
115 | { | 115 | { |
116 | terminate_taskid = NULL; | 116 | if (NULL != terminate_taskid) |
117 | { | ||
118 | GNUNET_SCHEDULER_cancel (terminate_taskid); | ||
119 | terminate_taskid = NULL; | ||
120 | } | ||
117 | GNUNET_TESTBED_get_statistics (0, NULL, | 121 | GNUNET_TESTBED_get_statistics (0, NULL, |
118 | NULL, NULL, | 122 | NULL, NULL, |
119 | &process_stats, | 123 | &process_stats, |
@@ -123,6 +127,20 @@ terminate_task (void *cls) | |||
123 | 127 | ||
124 | 128 | ||
125 | /** | 129 | /** |
130 | * Task run on timeout to terminate. Triggers printing out | ||
131 | * all statistics. | ||
132 | * | ||
133 | * @param cls NULL | ||
134 | */ | ||
135 | static void | ||
136 | timeout_task (void *cls) | ||
137 | { | ||
138 | terminate_taskid = NULL; | ||
139 | GNUNET_SCHEDULER_shutdown (); | ||
140 | } | ||
141 | |||
142 | |||
143 | /** | ||
126 | * Signature of a main function for a testcase. | 144 | * Signature of a main function for a testcase. |
127 | * | 145 | * |
128 | * @param cls closure | 146 | * @param cls closure |
@@ -148,11 +166,10 @@ test_master (void *cls, | |||
148 | 166 | ||
149 | if (0 != timeout.rel_value_us) | 167 | if (0 != timeout.rel_value_us) |
150 | terminate_taskid = GNUNET_SCHEDULER_add_delayed (timeout, | 168 | terminate_taskid = GNUNET_SCHEDULER_add_delayed (timeout, |
151 | &terminate_task, NULL); | 169 | &timeout_task, |
152 | else | ||
153 | terminate_taskid = GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, | ||
154 | &terminate_task, | ||
155 | NULL); | 170 | NULL); |
171 | GNUNET_SCHEDULER_add_shutdown (&terminate_task, | ||
172 | NULL); | ||
156 | } | 173 | } |
157 | 174 | ||
158 | 175 | ||