On Tuesday 10 January 2006 07:37 pm, Scott Long wrote: > scottl 2006-01-11 00:37:13 UTC > > FreeBSD src repository > > Modified files: > sys/kern subr_taskqueue.c > Log: > The interlock in taskqueue_terminate() is completely wrong for taskqueues > that use spinlocks. Remove it for now.
Eh? It's waiting for the wakeup that comes from kthread_exit() after the thread has exited which is locked via the proc lock. Sleeping on the taskqueue itself doesn't buy you anything. (In fact, it might sleep forever.) The simplest solution might be to acquire the proc lock a lot earlier before the taskqueue lock in this function so that you don't have to acquire it while holding the taskqueue lock since that is what gives you problems. -- John Baldwin <[EMAIL PROTECTED]> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org _______________________________________________ cvs-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/cvs-all To unsubscribe, send any mail to "[EMAIL PROTECTED]"