aboutsummaryrefslogtreecommitdiff
path: root/src/core/taskq.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2017-06-28 23:07:28 -0700
committerGarrett D'Amore <garrett@damore.org>2017-06-28 23:07:28 -0700
commitfe3c9705072ac8cafecdf2ea6bca4c26f9464824 (patch)
tree07aaea70cbf8bb6af369d5efede475ed03ffdd63 /src/core/taskq.c
parent10d748fa6444324878a77cc5749c93b75819ced2 (diff)
downloadnng-fe3c9705072ac8cafecdf2ea6bca4c26f9464824.tar.gz
nng-fe3c9705072ac8cafecdf2ea6bca4c26f9464824.tar.bz2
nng-fe3c9705072ac8cafecdf2ea6bca4c26f9464824.zip
Refactor stop again, closing numerous races (thanks valgrind!)
Diffstat (limited to 'src/core/taskq.c')
-rw-r--r--src/core/taskq.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/taskq.c b/src/core/taskq.c
index f33a68bf..f4a0beee 100644
--- a/src/core/taskq.c
+++ b/src/core/taskq.c
@@ -184,7 +184,9 @@ nni_taskq_cancel(nni_taskq *tq, nni_taskq_ent *ent)
nni_mtx_unlock(&tq->tq_mtx);
return (NNG_ENOENT);
}
- nni_list_remove(&tq->tq_ents, ent);
+ if (nni_list_active(&tq->tq_ents, ent)) {
+ nni_list_remove(&tq->tq_ents, ent);
+ }
nni_mtx_unlock(&tq->tq_mtx);
return (0);
}