Date: Mon, 6 Jul 1998 19:12:26 +0200 From: Christoph Kukulies <kuku@gilberto.physik.RWTH-Aachen.DE> To: Mark Tinguely <tinguely@plains.NoDak.edu> Cc: freebsd-hackers@freefall.cdrom.com, kuku@gilberto.physik.RWTH-Aachen.DE Subject: Re: mit-pthreads and gethostbyname Message-ID: <19980706191226.15709@gil.physik.rwth-aachen.de> In-Reply-To: <199807061655.LAA27539@plains.NoDak.edu>; from Mark Tinguely on Mon, Jul 06, 1998 at 11:55:27AM -0500 References: <199807061655.LAA27539@plains.NoDak.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jul 06, 1998 at 11:55:27AM -0500, Mark Tinguely wrote:
> > I have a strange problem with resolution of localhost (gethostbyname)
> > when using mit-pthreads where localhost cannot be resolved by
> > gethostbyname when search order is host->bind in /etc/host.conf
> > and /etc/resolv.conf is present.
>
> using libc_r (which uses the libc gethostby* routines), the host.conf
> file is used. But using MIT threads like you mentioned, they implement
> their own gethostby* routines.
>
> I think there is a more generic problem MIT pthreads does not consult the
> /etc/hosts file. I test program that runs on a machine in an isolated network:
>
> joy (nameserver)
> / \
> rest of net isolated network
>
> the isolated network have /etc/hosts and does a host, bind search order.
>
> If i run a program that uses gethostbyname from libc, the correct IP
> number is returned for joy (the hidden network IP taken from /etc/hosts).
> test 2, if I resolve a name that has multiple DNS entries, the libc
> version returns them all.
>
> If i run a program that uses gethostbyname from MIT pthreads, the DNS derived
> IP number is returned for joy. for test 2, only the first IP number of a host
> that resolves to multiple addresses is returned.
>
> check the command, "nslookup localhost", by guess is that it does not
> have an entry and that is why the MIT pthreads gethostbyname call does not
> not return a value.
blues> nslookup localhost
Server: acaxp.physik.rwth-aachen.de
Address: 137.226.33.200
Non-authoritative answer:
Name: localhost
Address: 127.0.0.1
blues> ./resolveip localhost
./resolveip: Unable to find hostid for 'localhost'
blues>
resolveip is a program which comes with mysql-3.22.3alpha and is linked
against mit-pthreads.
blues> ldd resolveip
resolveip:
-lm.2 => /usr/lib/libm.so.2.0 (0x2002d000)
-lz.2 => /usr/lib/libz.so.2.0 (0x20047000)
-lcrypt.2 => /usr/lib/libcrypt.so.2.0 (0x20053000)
-lc.3 => /usr/lib/libc.so.3.1 (0x20068000)
Strangely though, I ran that program fine on hub.freebsd.org but
in my network it fails although the nameserver has a localhost entry.
What's up with all the different thread packages these days? I hear
FreeBSD kernel threads aren't yet quite mature, or still too slow.
mit-pthreads are supposedly faster than kernel threads (?).
Does anyone know the whole story? Could be mysql made working
with kernel threads? Are libc_r routines using kernel threads?
> --mark.
--
Chris Christoph P. U. Kukulies kuku@gil.physik.rwth-aachen.de
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980706191226.15709>
