Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Aug 2002 09:10:20 -0400 (EDT)
From:      Daniel Eischen <eischen@pcnet1.pcnet.com>
To:        Maxim Sobolev <sobomax@FreeBSD.ORG>
Cc:        hackers@FreeBSD.ORG, audit@FreeBSD.ORG, Alexander Litvin <archer@whichever.org>, Andriy Gapon <agapon@excite.com>
Subject:   Re: Thread-safe resolver [patches for review]
Message-ID:  <Pine.GSO.4.10.10208120907560.26737-100000@pcnet1.pcnet.com>
In-Reply-To: <3D57AB3D.17737AD7@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 12 Aug 2002, Maxim Sobolev wrote:
> Daniel Eischen wrote:
> > 
> > On Mon, 12 Aug 2002, Maxim Sobolev wrote:
> > > Folks,
> > >
> > > Attched please find two patches based on bin/29581 PR to make FreeBSD
> > > resolver thread-safe. They represent two approaches to reach this goal
> > > - the first is to introduce reentrant versions of the standard
> > > gethostbyXXX(3) APIs, similar to ones existing in other unices, and
> > > the second one is to make gethostbyXXX(3) returning data placed into
> > > per-thread storage when linked with libc_r. I like the latter approach
> > > more, since it doesn't introduce new non-standard APIs.
> > >
> > > I would like to hear any comments and suggestions on the proposed
> > > patches, as well as to opinions about which path to chose.
> > 
> > Why do you need uthread_resolv.c?  You should be able to thread
> > calls by checking __isthreaded.  Just keep everything in libc.
> > If there are missing stubs for some pthread_* routines (I think
> > everything you need is in -current's libc), then add them.
> 
> Why do we have uthread_error.c then? Also it will add penalty to every
> access to _res_data structure even in non-threaded case. 

Take a look at everything else in libc.  What about malloc?  It
does the same thing and checks __isthreaded.

-- 
Dan Eischen



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.10.10208120907560.26737-100000>