aboutsummaryrefslogtreecommitdiff
path: root/src/pt
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-12-24 01:10:47 +0000
committerChristian Grothoff <christian@grothoff.org>2014-12-24 01:10:47 +0000
commitf1f603c7d0b3f03dca46a4f313472288eb080eb1 (patch)
tree3a29966b02dfb83e0a8a8d5c42b3116380209fb0 /src/pt
parent53cd5b8eda2fa8db86b0907a62a39598981d008a (diff)
downloadgnunet-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.c2
-rw-r--r--src/pt/test_gns_vpn.c18
-rw-r--r--src/pt/test_gnunet_vpn.c26
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
46static struct MHD_Daemon *mhd; 46static struct MHD_Daemon *mhd;
47 47
48static GNUNET_SCHEDULER_TaskIdentifier mhd_task_id; 48static struct GNUNET_SCHEDULER_Task * mhd_task_id;
49 49
50static GNUNET_SCHEDULER_TaskIdentifier curl_task_id; 50static struct GNUNET_SCHEDULER_Task * curl_task_id;
51 51
52static CURL *curl; 52static CURL *curl;
53 53
@@ -131,15 +131,15 @@ mhd_ahc (void *cls,
131static void 131static void
132do_shutdown () 132do_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
162curl_task (void *cls, 162curl_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
311mhd_task (void *cls, 311mhd_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
44static struct MHD_Daemon *mhd; 44static struct MHD_Daemon *mhd;
45 45
46static GNUNET_SCHEDULER_TaskIdentifier mhd_task_id; 46static struct GNUNET_SCHEDULER_Task * mhd_task_id;
47 47
48static GNUNET_SCHEDULER_TaskIdentifier curl_task_id; 48static struct GNUNET_SCHEDULER_Task * curl_task_id;
49 49
50static GNUNET_SCHEDULER_TaskIdentifier ctrl_c_task_id; 50static struct GNUNET_SCHEDULER_Task * ctrl_c_task_id;
51 51
52static struct GNUNET_VPN_RedirectionRequest *rr; 52static struct GNUNET_VPN_RedirectionRequest *rr;
53 53
@@ -128,20 +128,20 @@ mhd_ahc (void *cls, struct MHD_Connection *connection, const char *url,
128static void 128static void
129do_shutdown () 129do_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);
173static void 173static void
174curl_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 174curl_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);
301static void 301static void
302mhd_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 302mhd_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)
310static void 310static void
311ctrl_c_shutdown (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) 311ctrl_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);