Author: pjd
Date: Sat Aug 28 08:38:03 2010
New Revision: 211928
URL: http://svn.freebsd.org/changeset/base/211928

Log:
  Run all tasks from a proper context, with proper priority, etc.
  
  Reviewed by:  jhb
  MFC after:    1 month

Modified:
  head/sys/kern/subr_taskqueue.c

Modified: head/sys/kern/subr_taskqueue.c
==============================================================================
--- head/sys/kern/subr_taskqueue.c      Sat Aug 28 08:30:20 2010        
(r211927)
+++ head/sys/kern/subr_taskqueue.c      Sat Aug 28 08:38:03 2010        
(r211928)
@@ -141,7 +141,6 @@ taskqueue_free(struct taskqueue *queue)
 
        TQ_LOCK(queue);
        queue->tq_flags &= ~TQ_FLAGS_ACTIVE;
-       taskqueue_run(queue, &queue->tq_running);
        taskqueue_terminate(queue->tq_threads, queue);
        mtx_destroy(&queue->tq_mutex);
        free(queue->tq_threads, M_TASKQUEUE);
@@ -372,6 +371,7 @@ taskqueue_thread_loop(void *arg)
                        break;
                TQ_SLEEP(tq, tq, &tq->tq_mutex, 0, "-", 0);
        }
+       taskqueue_run(tq, &running);
 
        /* rendezvous with thread that asked us to terminate */
        tq->tq_tcount--;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to