[phobos] phobos commit, revision 2107
Jacob Carlborg
doob at me.com
Tue Oct 19 12:30:52 PDT 2010
On 19 okt 2010, at 20:45, Steve Schveighoffer wrote:
> ----- Original Message ----
>
>> From: Brad Roberts <braddr at puremagic.com>
>>
>> On 10/19/2010 6:15 AM, dsource.org wrote:
>>> phobos commit, revision 2107
>>>
>>>
>>> user: schveiguy
>>>
>>> msg: Fixed static destructor so sockets aren't closed on every thread exit
>> in
>>> windows. (see bug 4344 and 4951)
>>>
>>> Fixed unlisted bug, there could be a race condition on linux with
>>> gethostbyname and gethostbyaddr, now synchronizing entire processing of
>>> hostent struct.
>>>
>>> http://www.dsource.org/projects/phobos/changeset/2107
>>
>> There's a thread-safe version of gethostbyname, gethostbyname_r, that you
>> could
>> use to avoid having to syncronize those blocks. Or even better, migrate to
>> getnameinfo on both linux and windows to move to the modern implementation.
>
> getnameinfo looks like the right path. I just did what I did because it was
> braindead simple and I didn't have to expend a lot of effort on it :) It's just
> something I noticed when trying to figure out why multithreaded gethostbyname
> calls were breaking on Windows.
>
> Anyone with MacOSX confirm that getaddrinfo and getnameinfo exist on that OS?
They exist.
>> Your change is an improvement from unsafe use of a non-threadsafe api, but..
>
> *shrug* it's better than what was there. It needs more attention, but I'm not
> sure if std.socket is going to be replaced or not.
>
> This also doesn't protect against someone calling gethostbyname directly.
>
> -Steve
>
>
>
>
> _______________________________________________
> phobos mailing list
> phobos at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
--
/Jacob Carlborg
More information about the phobos
mailing list