Kernel crash w/o reason
John Baldwin
jhb at FreeBSD.org
Mon Dec 27 14:11:05 PST 2004
On Friday 24 December 2004 07:13 am, Jan Engelhardt wrote:
> >> What should I use instead? A semaphore?
> >
> >You shouldn't have unrelated kernel threads waiting for a user
> >process at all, so this sounds like a design problem, regardless
> >of which mutual exclusion primitive you use. (Bear in mind that I
> >haven't actually looked into what you're trying to do.) In any
> >case, you can always use mutexes to implement whatever other
> >synchronization mechanism you need.
>
> I wanted that the device can only be opened once, and holding a mutex while
> it is open seemed like a simple idea. (Since mtx_trylock() will then fail
> -- easy to implement.)
Use a flag in your softc and use a mutex to protect access to the flag.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-hackers
mailing list