On Thu, Feb 02, 2012 at 09:22:22PM +0100, Torfinn Ingolfsen wrote:
> Hi,
> 
> I thought this bug was fixed back in 2009?
> root@kg-v7# uname -a
> FreeBSD kg-v7.kg4.no 8.2-STABLE FreeBSD 8.2-STABLE #7: Sat Jul  9 23:00:31 
> CEST 2011     r...@kg-v7.kg4.no:/usr/obj/usr/src/sys/GENERIC  amd64
> root@kg-v7# 
> root@kg-v7# service devd status
> devd is running as pid 555.
> root@kg-v7# service devd restart
> Stopping devd.
> Starting devd.
> devd: devd already running, pid: 555
> /etc/rc.d/devd: WARNING: failed to start devd
> root@kg-v7# service devd status
> devd is not running.
> 
> What gives?

This is probably "what gives", as it's a common problem with all sorts
of daemons and is not specific to devd in the least:

- devd is running (pid 555)
- Admin issues "service devd restart"
  -- devd is sent SIGTERM; devd internally starts shutting down,
     but is not fully dead yet.  "kill" does not block (wait) for
     processes to end, obviously
  -- Same script issues a start of devd, which fails because the
     daemon is still running (still shutting down)
  -- Resulting message is failure
- Between failure message and below step, devd shuts down
- Admin issues "service devd status"
  -- Script states devd isn't running

I imagine either rc.subr(8) check_pidfile or wait_for_pids needs to be
used, presumably in devd_stop () (which would need to be added/written).
I do not know the implications of adding this, however, as there may be
situations where (say on system shutdown) that you want things to "just
end immediately" and not wait for the daemon to cleanly shut down.  I
say this because of devd's direct ties to devctl(4).

Doug, any thoughts?

-- 
| Jeremy Chadwick                                 j...@parodius.com |
| Parodius Networking                     http://www.parodius.com/ |
| UNIX Systems Administrator                 Mountain View, CA, US |
| Making life hard for others since 1977.             PGP 4BD6C0CB |

_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to