cvs commit: src/sys/dev/fdc fdc.c fdcvar.h
M. Warner Losh
imp at bsdimp.com
Thu Sep 23 18:10:40 PDT 2004
In message: <41535BD3.1020609 at root.org>
Nate Lawson <nate at root.org> writes:
: John Baldwin wrote:
: > On Thursday 23 September 2004 07:19 pm, Nate Lawson wrote:
: >>Or simpler:
: >>
: >>foo_kill():
: >> error = kthread_suspend(p, kproc_shutdown_wait * hz);
: >> if (error == EWOULDBLOCK)
: >> printf("timed out\n");
: >>
: >>foo_thread():
: >> for (;;) {
: >> mtx_unlock(&bdlock);
: >> kthread_suspend_check(bufdaemonproc);
: >> ...
: >> mtx_lock(&bdlock);
: >> if (numdirtybuffers <= lodirtybuffers)
: >> msleep(&bd_request, &bdlock, PVM, "psleep", hz);
: >
: >
: > That doesn't actually cause the thread to exit, it just goes to sleep. If fdc
: > wants to support detaching and kldunload it needs the thread to actually go
: > away, not just go to sleep.
:
: If a thread is suspended and the module is unloaded, what would be the
: failure case?
Why have a suspended thread around when you could have it dead? It is
a resource leak.
Warner
More information about the cvs-src
mailing list