diff options
author | Christian Grothoff <christian@grothoff.org> | 2014-12-24 01:10:47 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2014-12-24 01:10:47 +0000 |
commit | f1f603c7d0b3f03dca46a4f313472288eb080eb1 (patch) | |
tree | 3a29966b02dfb83e0a8a8d5c42b3116380209fb0 /src/pt | |
parent | 53cd5b8eda2fa8db86b0907a62a39598981d008a (diff) | |
download | gnunet-f1f603c7d0b3f03dca46a4f313472288eb080eb1.tar.gz gnunet-f1f603c7d0b3f03dca46a4f313472288eb080eb1.zip |
making GNUNET_SCHEDULER_cancel() perform in O(1) instead of O(n) to help or even fully address #3247
Diffstat (limited to 'src/pt')
-rw-r--r-- | src/pt/gnunet-daemon-pt.c | 2 | ||||
-rw-r--r-- | src/pt/test_gns_vpn.c | 18 | ||||
-rw-r--r-- | src/pt/test_gnunet_vpn.c | 26 |
3 files changed, 23 insertions, 23 deletions
diff --git a/src/pt/gnunet-daemon-pt.c b/src/pt/gnunet-daemon-pt.c index 832d51d63..72fef144a 100644 --- a/src/pt/gnunet-daemon-pt.c +++ b/src/pt/gnunet-daemon-pt.c | |||
@@ -228,7 +228,7 @@ struct RequestContext | |||
228 | /** | 228 | /** |
229 | * Task used to abort this operation with timeout. | 229 | * Task used to abort this operation with timeout. |
230 | */ | 230 | */ |
231 | GNUNET_SCHEDULER_TaskIdentifier timeout_task; | 231 | struct GNUNET_SCHEDULER_Task * timeout_task; |
232 | 232 | ||
233 | /** | 233 | /** |
234 | * Length of the request message that follows this struct. | 234 | * Length of the request message that follows this struct. |
diff --git a/src/pt/test_gns_vpn.c b/src/pt/test_gns_vpn.c index eaf94dfa7..e9c89b42a 100644 --- a/src/pt/test_gns_vpn.c +++ b/src/pt/test_gns_vpn.c | |||
@@ -45,9 +45,9 @@ static struct GNUNET_NAMESTORE_Handle *namestore; | |||
45 | 45 | ||
46 | static struct MHD_Daemon *mhd; | 46 | static struct MHD_Daemon *mhd; |
47 | 47 | ||
48 | static GNUNET_SCHEDULER_TaskIdentifier mhd_task_id; | 48 | static struct GNUNET_SCHEDULER_Task * mhd_task_id; |
49 | 49 | ||
50 | static GNUNET_SCHEDULER_TaskIdentifier curl_task_id; | 50 | static struct GNUNET_SCHEDULER_Task * curl_task_id; |
51 | 51 | ||
52 | static CURL *curl; | 52 | static CURL *curl; |
53 | 53 | ||
@@ -131,15 +131,15 @@ mhd_ahc (void *cls, | |||
131 | static void | 131 | static void |
132 | do_shutdown () | 132 | do_shutdown () |
133 | { | 133 | { |
134 | if (mhd_task_id != GNUNET_SCHEDULER_NO_TASK) | 134 | if (mhd_task_id != NULL) |
135 | { | 135 | { |
136 | GNUNET_SCHEDULER_cancel (mhd_task_id); | 136 | GNUNET_SCHEDULER_cancel (mhd_task_id); |
137 | mhd_task_id = GNUNET_SCHEDULER_NO_TASK; | 137 | mhd_task_id = NULL; |
138 | } | 138 | } |
139 | if (curl_task_id != GNUNET_SCHEDULER_NO_TASK) | 139 | if (curl_task_id != NULL) |
140 | { | 140 | { |
141 | GNUNET_SCHEDULER_cancel (curl_task_id); | 141 | GNUNET_SCHEDULER_cancel (curl_task_id); |
142 | curl_task_id = GNUNET_SCHEDULER_NO_TASK; | 142 | curl_task_id = NULL; |
143 | } | 143 | } |
144 | if (NULL != mhd) | 144 | if (NULL != mhd) |
145 | { | 145 | { |
@@ -162,7 +162,7 @@ static void | |||
162 | curl_task (void *cls, | 162 | curl_task (void *cls, |
163 | const struct GNUNET_SCHEDULER_TaskContext *tc) | 163 | const struct GNUNET_SCHEDULER_TaskContext *tc) |
164 | { | 164 | { |
165 | curl_task_id = GNUNET_SCHEDULER_NO_TASK; | 165 | curl_task_id = NULL; |
166 | curl_main (); | 166 | curl_main (); |
167 | } | 167 | } |
168 | 168 | ||
@@ -311,7 +311,7 @@ static void | |||
311 | mhd_task (void *cls, | 311 | mhd_task (void *cls, |
312 | const struct GNUNET_SCHEDULER_TaskContext *tc) | 312 | const struct GNUNET_SCHEDULER_TaskContext *tc) |
313 | { | 313 | { |
314 | mhd_task_id = GNUNET_SCHEDULER_NO_TASK; | 314 | mhd_task_id = NULL; |
315 | MHD_run (mhd); | 315 | MHD_run (mhd); |
316 | mhd_main (); | 316 | mhd_main (); |
317 | } | 317 | } |
@@ -329,7 +329,7 @@ mhd_main () | |||
329 | unsigned MHD_LONG_LONG timeout; | 329 | unsigned MHD_LONG_LONG timeout; |
330 | struct GNUNET_TIME_Relative delay; | 330 | struct GNUNET_TIME_Relative delay; |
331 | 331 | ||
332 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == mhd_task_id); | 332 | GNUNET_assert (NULL == mhd_task_id); |
333 | FD_ZERO (&rs); | 333 | FD_ZERO (&rs); |
334 | FD_ZERO (&ws); | 334 | FD_ZERO (&ws); |
335 | FD_ZERO (&es); | 335 | FD_ZERO (&es); |
diff --git a/src/pt/test_gnunet_vpn.c b/src/pt/test_gnunet_vpn.c index 7e83fdcd1..ce6fbdd53 100644 --- a/src/pt/test_gnunet_vpn.c +++ b/src/pt/test_gnunet_vpn.c | |||
@@ -43,11 +43,11 @@ static struct GNUNET_VPN_Handle *vpn; | |||
43 | 43 | ||
44 | static struct MHD_Daemon *mhd; | 44 | static struct MHD_Daemon *mhd; |
45 | 45 | ||
46 | static GNUNET_SCHEDULER_TaskIdentifier mhd_task_id; | 46 | static struct GNUNET_SCHEDULER_Task * mhd_task_id; |
47 | 47 | ||
48 | static GNUNET_SCHEDULER_TaskIdentifier curl_task_id; | 48 | static struct GNUNET_SCHEDULER_Task * curl_task_id; |
49 | 49 | ||
50 | static GNUNET_SCHEDULER_TaskIdentifier ctrl_c_task_id; | 50 | static struct GNUNET_SCHEDULER_Task * ctrl_c_task_id; |
51 | 51 | ||
52 | static struct GNUNET_VPN_RedirectionRequest *rr; | 52 | static struct GNUNET_VPN_RedirectionRequest *rr; |
53 | 53 | ||
@@ -128,20 +128,20 @@ mhd_ahc (void *cls, struct MHD_Connection *connection, const char *url, | |||
128 | static void | 128 | static void |
129 | do_shutdown () | 129 | do_shutdown () |
130 | { | 130 | { |
131 | if (mhd_task_id != GNUNET_SCHEDULER_NO_TASK) | 131 | if (mhd_task_id != NULL) |
132 | { | 132 | { |
133 | GNUNET_SCHEDULER_cancel (mhd_task_id); | 133 | GNUNET_SCHEDULER_cancel (mhd_task_id); |
134 | mhd_task_id = GNUNET_SCHEDULER_NO_TASK; | 134 | mhd_task_id = NULL; |
135 | } | 135 | } |
136 | if (curl_task_id != GNUNET_SCHEDULER_NO_TASK) | 136 | if (curl_task_id != NULL) |
137 | { | 137 | { |
138 | GNUNET_SCHEDULER_cancel (curl_task_id); | 138 | GNUNET_SCHEDULER_cancel (curl_task_id); |
139 | curl_task_id = GNUNET_SCHEDULER_NO_TASK; | 139 | curl_task_id = NULL; |
140 | } | 140 | } |
141 | if (ctrl_c_task_id != GNUNET_SCHEDULER_NO_TASK) | 141 | if (ctrl_c_task_id != NULL) |
142 | { | 142 | { |
143 | GNUNET_SCHEDULER_cancel (ctrl_c_task_id); | 143 | GNUNET_SCHEDULER_cancel (ctrl_c_task_id); |
144 | ctrl_c_task_id = GNUNET_SCHEDULER_NO_TASK; | 144 | ctrl_c_task_id = NULL; |
145 | } | 145 | } |
146 | if (NULL != mhd) | 146 | if (NULL != mhd) |
147 | { | 147 | { |
@@ -173,7 +173,7 @@ curl_main (void); | |||
173 | static void | 173 | static void |
174 | curl_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 174 | curl_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
175 | { | 175 | { |
176 | curl_task_id = GNUNET_SCHEDULER_NO_TASK; | 176 | curl_task_id = NULL; |
177 | curl_main (); | 177 | curl_main (); |
178 | } | 178 | } |
179 | 179 | ||
@@ -301,7 +301,7 @@ mhd_main (void); | |||
301 | static void | 301 | static void |
302 | mhd_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 302 | mhd_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
303 | { | 303 | { |
304 | mhd_task_id = GNUNET_SCHEDULER_NO_TASK; | 304 | mhd_task_id = NULL; |
305 | MHD_run (mhd); | 305 | MHD_run (mhd); |
306 | mhd_main (); | 306 | mhd_main (); |
307 | } | 307 | } |
@@ -310,7 +310,7 @@ mhd_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
310 | static void | 310 | static void |
311 | ctrl_c_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | 311 | ctrl_c_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) |
312 | { | 312 | { |
313 | ctrl_c_task_id = GNUNET_SCHEDULER_NO_TASK; | 313 | ctrl_c_task_id = NULL; |
314 | do_shutdown (); | 314 | do_shutdown (); |
315 | GNUNET_break (0); | 315 | GNUNET_break (0); |
316 | global_ret = 1; | 316 | global_ret = 1; |
@@ -329,7 +329,7 @@ mhd_main () | |||
329 | unsigned MHD_LONG_LONG timeout; | 329 | unsigned MHD_LONG_LONG timeout; |
330 | struct GNUNET_TIME_Relative delay; | 330 | struct GNUNET_TIME_Relative delay; |
331 | 331 | ||
332 | GNUNET_assert (GNUNET_SCHEDULER_NO_TASK == mhd_task_id); | 332 | GNUNET_assert (NULL == mhd_task_id); |
333 | FD_ZERO (&rs); | 333 | FD_ZERO (&rs); |
334 | FD_ZERO (&ws); | 334 | FD_ZERO (&ws); |
335 | FD_ZERO (&es); | 335 | FD_ZERO (&es); |