Python and /etc/resolv.conf changes

Colin Walters walters at verbum.org
Wed Jan 21 01:19:41 UTC 2009


2009/1/20 Jesse Keating <jkeating at redhat.com>:
> I'm looking at what might be a bug in python.  The anaconda installer
> launches python, then we get network configs going and write out some
> files such as /etc/resolv.conf.  However that original python process
> can't seem to resolve anything after this file has been written out,
> whereas new python processes started on a different terminal can indeed
> use the new /etc/resolv.conf data.
>
> My thought is that the original python process is using stale
> information, and that something like a res_init() is needed, but google
> doesn't seem to have any real connection between python and calling
> res_init.  The guys in #python on freenode aren't exactly sure what to
> do here either.

Nothing specific to Python here as far as I know; glibc just caches
its first read of /etc/resolv.conf.  Everything is affected.  The only
program that mostly works is Firefox because they go out of their way
to unbreak things (i.e. call res_init when they get notification from
NetworkManager).

The previous thread was here:

http://www.mailinglistarchive.com/fedora-devel-list@redhat.com/msg39340.html

I think we were stuck on the choice between nscd, bind, and some other
caching package.

Both Debian/Ubuntu
(http://patches.ubuntu.com/g/glibc/extracted/any/local-dynamic-resolvconf.diff)
and OpenSUSE (http://download.opensuse.org/distribution/11.0/repo/src-oss/suse/src/glibc-2.8-14.1.src.rpm,
resolv.dynamic.diff) ship a patch to glibc which stats() resolv.conf.
We do not.




More information about the fedora-devel-list mailing list