Revert previous. It was not ok'ed by dlg@.
authormvs <mvs@openbsd.org>
Mon, 15 Aug 2022 11:38:35 +0000 (11:38 +0000)
committermvs <mvs@openbsd.org>
Mon, 15 Aug 2022 11:38:35 +0000 (11:38 +0000)
sys/kern/kern_task.c

index 2a2fa25..71de6dc 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: kern_task.c,v 1.32 2022/08/15 09:10:36 mvs Exp $ */
+/*     $OpenBSD: kern_task.c,v 1.33 2022/08/15 11:38:35 mvs Exp $ */
 
 /*
  * Copyright (c) 2013 David Gwynne <dlg@openbsd.org>
@@ -354,6 +354,9 @@ task_add(struct taskq *tq, struct task *w)
 {
        int rv = 0;
 
+       if (ISSET(w->t_flags, TASK_ONQUEUE))
+               return (0);
+
        mtx_enter(&tq->tq_mtx);
        if (!ISSET(w->t_flags, TASK_ONQUEUE)) {
                rv = 1;
@@ -376,6 +379,9 @@ task_del(struct taskq *tq, struct task *w)
 {
        int rv = 0;
 
+       if (!ISSET(w->t_flags, TASK_ONQUEUE))
+               return (0);
+
        mtx_enter(&tq->tq_mtx);
        if (ISSET(w->t_flags, TASK_ONQUEUE)) {
                rv = 1;