diff options
Diffstat (limited to 'src/lockmanager/test_lockmanager_api.c')
-rw-r--r-- | src/lockmanager/test_lockmanager_api.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/src/lockmanager/test_lockmanager_api.c b/src/lockmanager/test_lockmanager_api.c index 9137768e8..117517e6e 100644 --- a/src/lockmanager/test_lockmanager_api.c +++ b/src/lockmanager/test_lockmanager_api.c | |||
@@ -64,6 +64,11 @@ static struct GNUNET_LOCKMANAGER_Handle *handle; | |||
64 | static struct GNUNET_LOCKMANAGER_LockingRequest *request; | 64 | static struct GNUNET_LOCKMANAGER_LockingRequest *request; |
65 | 65 | ||
66 | /** | 66 | /** |
67 | * Abort task identifier | ||
68 | */ | ||
69 | static GNUNET_SCHEDULER_TaskIdentifier abort_task_id; | ||
70 | |||
71 | /** | ||
67 | * Shutdown nicely | 72 | * Shutdown nicely |
68 | * | 73 | * |
69 | * @param cls | 74 | * @param cls |
@@ -72,6 +77,12 @@ static struct GNUNET_LOCKMANAGER_LockingRequest *request; | |||
72 | static void | 77 | static void |
73 | do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) | 78 | do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) |
74 | { | 79 | { |
80 | if (GNUNET_SCHEDULER_NO_TASK != abort_task_id) | ||
81 | { | ||
82 | GNUNET_SCHEDULER_cancel (abort_task_id); | ||
83 | abort_task_id = GNUNET_SCHEDULER_NO_TASK; | ||
84 | } | ||
85 | |||
75 | if (NULL != request) | 86 | if (NULL != request) |
76 | { | 87 | { |
77 | GNUNET_LOCKMANAGER_cancel_request (request); | 88 | GNUNET_LOCKMANAGER_cancel_request (request); |
@@ -99,6 +110,7 @@ do_shutdown (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
99 | static void | 110 | static void |
100 | do_abort (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) | 111 | do_abort (void *cls, const const struct GNUNET_SCHEDULER_TaskContext *tc) |
101 | { | 112 | { |
113 | abort_task_id = GNUNET_SCHEDULER_NO_TASK; | ||
102 | result = GNUNET_SYSERR; | 114 | result = GNUNET_SYSERR; |
103 | do_shutdown (cls, tc); | 115 | do_shutdown (cls, tc); |
104 | } | 116 | } |
@@ -144,9 +156,9 @@ test (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) | |||
144 | 99, | 156 | 99, |
145 | &status_cb, | 157 | &status_cb, |
146 | NULL); | 158 | NULL); |
147 | GNUNET_SCHEDULER_add_delayed (TIME_REL_SECONDS (10), | 159 | abort_task_id = GNUNET_SCHEDULER_add_delayed (TIME_REL_SECONDS (10), |
148 | &do_abort, | 160 | &do_abort, |
149 | NULL); | 161 | NULL); |
150 | } | 162 | } |
151 | 163 | ||
152 | 164 | ||