Patch for rc.d/devd on FreeBSD 9-current

Dag-Erling Smørgrav des at
Mon Jun 28 14:37:49 UTC 2010

"M. Warner Losh" <imp at> writes:
> Dag-Erling Smørgrav <des at> writes:
> > "M. Warner Losh" <imp at> writes:
> > > Maybe the real problem is that devd locks the file, then dies.  The
> > > file remains locked, so the flopen is failing with EWOULDBLOCK.
> > The lock is released when the process that holds it terminates.
> So which process is that?  devd took it out, and is subsequently
> killed.  When it restarts, it can't take out the lock.

What does fstat say about the pid file?

> The same code works perfectly in 8.0-stable from April.
> The conclusion, I believe, is that somebody broke locking in
> current...

Before I wrote one of my earlier replies, I traced through the code
paths that lead to a lock being released, and everything looks fine and
dandy.  Besides, if someone had, as you suggest, broken locking in
current, there would be a lot more noise about it on the lists.

Dag-Erling Smørgrav - des at

More information about the freebsd-current mailing list