[vlc-devel] [PATCH 08/18] Add missing getaddrinfo(),	freeaddrinfo(), getnameinfo() and gai_strerror() for OS/2
    Rémi Denis-Courmont 
    remi at remlab.net
       
    Sat Oct 22 18:17:20 CEST 2011
    
    
  
   Hello,
On Friday 21 October 2011, KO Myung-Hun wrote:
> Rémi Denis-Courmont wrote:
> > Le jeudi 20 octobre 2011 15:30:15 KO Myung-Hun, vous avez écrit :
> >> ---
> >> 
> >>  include/vlc_network.h     |   33 +++++
> >>  src/network/getaddrinfo.c |  334
> >> 
> >> +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 367
> >> insertions(+), 0 deletions(-)
> > 
> > This code seems to be ripped from some old crap that I wrote years ago.
> > Unfortunately, that implementation of getaddrinfo() assumes that
> > gethostbyname() and gethostbyaddr() are thread-safe. I believe this is
> > the case on Winsock 2 / Windows 9x which this code was aimed at.
> 
> I've confirmed that gethostbyname() and gethostbyaddr() uses static dat,
> so they are not thread-safe.
getaddrinfo() and getnameinfo() are supposed to be thread-safe (as they are 
specified by IETF and POSIX), and VLC assumes they are.
On Windows, I think gethostbyname() returns data from thread-local storage, so 
it is thread-safe. But this is an exception.
> > I do not know if this really works correctly on OS/2. It might be a bit
> > more complicated than that...
> 
> Fortunately, this works correctly on OS/2. So I'll submit a new patch to
> fix this after this patch is merged.
> 
> Possible ?
I am not sure what you mean. But I don't really like to clutter the generic 
network code with this. If you have an OS/2-specific solution, it belongs in 
src/os2/ IMHO.
-- 
Rémi Denis-Courmont
http://www.remlab.info
    
    
More information about the vlc-devel
mailing list