[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: reentrant variants of gethostbyname2/gethostbyaddr



Hello!

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.

Kind regards,

Hannah.



Visit your host, monkey.org