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/vpn/vpn_api.c | |
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/vpn/vpn_api.c')
-rw-r--r-- | src/vpn/vpn_api.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/vpn/vpn_api.c b/src/vpn/vpn_api.c index 95ef8c46d..b0d2bccf0 100644 --- a/src/vpn/vpn_api.c +++ b/src/vpn/vpn_api.c | |||
@@ -61,7 +61,7 @@ struct GNUNET_VPN_Handle | |||
61 | /** | 61 | /** |
62 | * Identifier of a reconnect task. | 62 | * Identifier of a reconnect task. |
63 | */ | 63 | */ |
64 | GNUNET_SCHEDULER_TaskIdentifier rt; | 64 | struct GNUNET_SCHEDULER_Task * rt; |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * How long do we wait until we try to reconnect? | 67 | * How long do we wait until we try to reconnect? |
@@ -367,7 +367,7 @@ connect_task (void *cls, | |||
367 | { | 367 | { |
368 | struct GNUNET_VPN_Handle *vh = cls; | 368 | struct GNUNET_VPN_Handle *vh = cls; |
369 | 369 | ||
370 | vh->rt = GNUNET_SCHEDULER_NO_TASK; | 370 | vh->rt = NULL; |
371 | vh->client = GNUNET_CLIENT_connect ("vpn", vh->cfg); | 371 | vh->client = GNUNET_CLIENT_connect ("vpn", vh->cfg); |
372 | GNUNET_assert (NULL != vh->client); | 372 | GNUNET_assert (NULL != vh->client); |
373 | GNUNET_assert (NULL == vh->th); | 373 | GNUNET_assert (NULL == vh->th); |
@@ -578,10 +578,10 @@ GNUNET_VPN_disconnect (struct GNUNET_VPN_Handle *vh) | |||
578 | GNUNET_CLIENT_disconnect (vh->client); | 578 | GNUNET_CLIENT_disconnect (vh->client); |
579 | vh->client = NULL; | 579 | vh->client = NULL; |
580 | } | 580 | } |
581 | if (GNUNET_SCHEDULER_NO_TASK != vh->rt) | 581 | if (NULL != vh->rt) |
582 | { | 582 | { |
583 | GNUNET_SCHEDULER_cancel (vh->rt); | 583 | GNUNET_SCHEDULER_cancel (vh->rt); |
584 | vh->rt = GNUNET_SCHEDULER_NO_TASK; | 584 | vh->rt = NULL; |
585 | } | 585 | } |
586 | GNUNET_free (vh); | 586 | GNUNET_free (vh); |
587 | } | 587 | } |