Date: Tue, 29 Nov 2005 18:19:30 -0800 From: Brooks Davis <brooks@one-eyed-alien.net> To: "Ian D. Leroux" <ian_leroux@fastmail.fm> Cc: freebsd-stable@freebsd.org Subject: Re: Restarting ntpd on address change Message-ID: <20051130021930.GA24227@odin.ac.hmc.edu> In-Reply-To: <1133316076.522.28.camel@localhost> References: <1133316076.522.28.camel@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
--4Ckj6UjgE2iN1+kY Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Nov 29, 2005 at 09:01:16PM -0500, Ian D. Leroux wrote: > Greetings, >=20 > My machine's ip address is assigned by DHCP, and whenever it changes > ntpd stops functioning and must be restarted. I gather this behavior > will be changed in some future ntpd version, but in the meantime I had > added a line to my /etc/dhclient-exit-hooks to restart ntpd every time a > new address was obtained: >=20 > # [...] setup variables for ipcheck >=20 > if [ -n "$new_ip_address" ]; then > # [...] run ipcheck to update my dyndns > /etc/rc.d/ntpd restart > fi >=20 > This seemed work fine on 5.4, but on 6.0 it gives problems at boot. > Specifically, I get repeated "bad file descriptor" errors after my > network address is assigned, and running ps after the boot completes > shows that there are two ntpd processes running. Killing one of them > stops the file descriptor errors. My interpretation of this (for what > it's worth) is that an ntpd process gets started before dhclient gets a > chance to configure the address (perhaps when the interface initially > comes up) and then when the address is assigned the /etc/rc.d/ntpd > restart starts a second process, but somehow fails to stop the first > one. For now I've removed that line from dhclient-exit-hooks, which > avoids the problems at boot time. >=20 > I have the feeling that I'm not doing the Right Thing here. So is there > an accepted (or at least known-good) way of automatically managing the > restart of ntpd on address change? Have I found a bug in rc.d worth > investigating? Or should I just stick to manual restarts until ntpd > stops needing them? Hmm, this should work because the pid file should prevent ntpd from getting started twice. That happens on my -CURRENT laptop so I'm thinking there's something going on in the startup process that's tripping you up. One thought I had was that /var/run might be getting cleared, but it doesn't look like that should be the case. On a tangential note, the ntpd script won't actually support chroots due to it's broken assumption that devices can exist outside devfs file systems. --- Brooks --=20 Any statement of the form "X is the one, true Y" is FALSE. PGP fingerprint 655D 519C 26A7 82E7 2529 9BF0 5D8E 8BE9 F238 1AD4 --4Ckj6UjgE2iN1+kY Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFDjQwyXY6L6fI4GtQRAvYxAKCsY1d9YmyDK1uyG/R1QOxSrYC0vACgnXH5 f93xteMqjChuvXfrrmIK/2c= =olKt -----END PGP SIGNATURE----- --4Ckj6UjgE2iN1+kY--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20051130021930.GA24227>