Subject: Re: re-reading /etc/resolv.conf on change
To: Jason Thorpe <thorpej@wasabisystems.com>
From: Manuel Bouyer <bouyer@antioche.lip6.fr>
List: tech-userlevel
Date: 12/31/2003 16:10:19
On Tue, Dec 30, 2003 at 01:07:17PM -0800, Jason Thorpe wrote:
>
> On Dec 28, 2003, at 8:54 AM, Manuel Bouyer wrote:
>
> >I found this really annoying on my laptop (I have to restart mozilla
> >every time
> >I get online), so I came with the attached hack. Linux is probably
> >already
> >rereading /etc/resolv.conf on change, because I didn't have this issue
> >when
> >I used the linux netscape4 binary.
>
> I fully support this change (there is an open PR on it, as well).
> FWIW, it's not annoying just on laptops. It's also very annoying on
> server appliances. Pretty much anything where you have long-running
> network-aware applications.
>
> Comments on the patch itself:
>
> * I don't think kqueue is necessarily what you want to use. I
> think you want to use a combination of lstat() (to detect if
> a symlink changes) and fstat() (to detect if the destination
> of the symlink changes without the symlink itself changing).
This is not enouth. You don't catch rename or delete events this way.
For this you need stat() (or close/reopen the file eac h time), but it's much
more expensive.
>
> Then unresolved is what to do if the file doesn't exist.
>
> * Library routines should not spit warnings/errors out to stderr
> or stdout. Please remove the warn(), err(), etc. calls that you
> added.
OK, would a message to syslog be acceptable ?
--
Manuel Bouyer <bouyer@antioche.eu.org>
NetBSD: 23 ans d'experience feront toujours la difference
--