[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: reentrant variants of gethostbyname2/gethostbyaddr
- To: tech_(_at_)_openbsd_(_dot_)_org
- Subject: Re: reentrant variants of gethostbyname2/gethostbyaddr
- From: Hannah Schroeter <hannah_(_at_)_schlund_(_dot_)_de>
- Date: Mon, 6 Mar 2006 20:15:14 +0100
- Mail-followup-to: tech_(_at_)_openbsd_(_dot_)_org
- Organization: Schlund + Partner AG
On Mon, Mar 06, 2006 at 11:08:58AM -0800, Ted Unangst wrote:
>On 3/6/06, Hannah Schroeter <hannah_(_at_)_schlund_(_dot_)_de> wrote:
>> I've got code here I'd like to be able to compile on OpenBSD some time
>> in the future, if it works. However, that uses GNU extensions which add
>> reentrant variants of gethostbyname2 and gethostbyaddr. In our manual
>> page for these functions, it's mentioned that the functions use static
>> storage, which is not too easily workable for threaded code. So it'd be
>> good to have reentrant/threadsafe variants of them anyway.
>> Is there any chance that code for that will be added, either (if the
>> interfaces are defined in a sane way there) in the way glibc does, or in
>> a cleaner way, if there is.
>> Or is there any other suggestion for how to resolve hosts by name or
>> address in multithreaded code on OpenBSD?
>you can make a gethostbyaddr_r by using a mutex and memcpy to passed storage.
I had ideas like that already.
But... IIRC one would have to copy several strings, keeping track
of things. Correct?
And a big disadvantage is creating a big bottleneck, if the name
server responds slowly.
Visit your host, monkey.org