summaryrefslogtreecommitdiffstats
path: root/nuttx/sched/work_cancel.c
diff options
context:
space:
mode:
Diffstat (limited to 'nuttx/sched/work_cancel.c')
-rw-r--r--nuttx/sched/work_cancel.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/nuttx/sched/work_cancel.c b/nuttx/sched/work_cancel.c
index c277f024d2..30b650826b 100644
--- a/nuttx/sched/work_cancel.c
+++ b/nuttx/sched/work_cancel.c
@@ -104,10 +104,16 @@ int work_cancel(struct work_s *work)
flags = irqsave();
if (work->worker != NULL)
{
- DEBUGASSERT(work->dq.flink || (FAR dq_entry_t *)work == g_work.head);
- DEBUGASSERT(work->dq.blink || (FAR dq_entry_t *)work == g_work.tail);
- dq_rem((FAR dq_entry_t *)work, &g_work);
+ /* A little test of the integrity of the work queue */
+
+ DEBUGASSERT(work->dq.flink ||(FAR dq_entry_t *)work == g_work.tail);
+ DEBUGASSERT(work->dq.blink ||(FAR dq_entry_t *)work == g_work.head);
+ /* Remove the entry from the work queue and make sure that it is
+ * mark as availalbe (i.e., the worker field is nullified).
+ */
+
+ dq_rem((FAR dq_entry_t *)work, &g_work);
work->worker = NULL;
}