Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Sep 2004 17:48:19 -0400
From:      John Baldwin <jhb@FreeBSD.org>
To:        Joerg Wunsch <joerg@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/dev/fdc fdc.c fdcvar.h
Message-ID:  <200409231748.19685.jhb@FreeBSD.org>
In-Reply-To: <200409232112.i8NLCLgQ065917@repoman.freebsd.org>
References:  <200409232112.i8NLCLgQ065917@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 23 September 2004 05:12 pm, Joerg Wunsch wrote:
> joerg       2004-09-23 21:12:21 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/dev/fdc          fdc.c fdcvar.h
>   Log:
>   Implement terminating the worker thread when the driver is about to
>   be deregistered.
>
>   Not yet tested, since by now, GEOM doesn't want us to deregister.  PHK
>   wants to fix that RSN.

Note that relying on a wakeup from your own code is not safe if you expect fdc 
to be a module since you could wakeup the thread doing the kldunload (and 
thus detach) and then be interrupted for an interrupt and it could unmap the 
memory backing that function before you get a chance to run again resulting 
in a panic.  There is a special wakeup on the proc pointer in exit1() for 
kthreads to handle this case.  I should likely move that into kthread_exit() 
however (which wouldn't be a functional change as far as you are concerned).

-- 
John Baldwin <jhb@FreeBSD.org>  <><  http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve"  =  http://www.FreeBSD.org



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200409231748.19685.jhb>