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

From: Garrett Cooper <yanefbsd_at_gmail.com>
Date: Mon, 28 Jun 2010 09:57:37 -0700
2010/6/28 Dag-Erling Smørgrav <des_at_des.no>:
> "M. Warner Losh" <imp_at_bsdimp.com> writes:
>> Dag-Erling Smørgrav <des_at_des.no> writes:
>> > "M. Warner Losh" <imp_at_bsdimp.com> 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.

Hi DES,
    When I do the following:

/etc/rc.d/devd start
/etc/rc.d/devd stop

    It leaves stray unused lockfiles in the directory:

$ sudo /etc/rc.d/devd start
Starting devd.
$ ls -l /var/run/devd.pi*
-rw-------  1 root  wheel  5 Jun 28 09:53 /var/run/devd.pid
srw-rw-rw-  1 root  wheel  0 Jun 28 09:53 /var/run/devd.pipe
$ fstat /var/run/devd.pi*
USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W NAME
root     devd       29791    6 /var     447511 -rw-------       5  w
/var/run/devd.pid
$ sudo /etc/rc.d/devd stop
Stopping devd.
$ ls -l /var/run/devd.pi*
-rw-------  1 root  wheel  5 Jun 28 09:52 /var/run/devd.pid
srw-rw-rw-  1 root  wheel  0 Jun 28 09:52 /var/run/devd.pipe
$ fstat /var/run/devd.pi*
USER     CMD          PID   FD MOUNT      INUM MODE         SZ|DV R/W NAME

Thanks,
-Garrett
Received on Mon Jun 28 2010 - 14:57:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:05 UTC