On Wed, Dec 11, 2002 at 06:12:21AM +1100, Noel Gordon wrote: > If it is true that cygwin uses gethostbyname() from wsock32.dll, and > returns the wsock32.dll hostent* result to the application, then it > is perhaps unwise to free() it. Following your tip, we find from ... >
In net.cc cygwin takes the result from the MS GetHostByName and copies it to its own calloc'ed structure. Not sure why, given that the MS function already returns a pointer to a per thread structure, as indicated below. Pierre > >http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/gethostby > name_2.asp > > Remarks > > The gethostbyname function returns a pointer to a hostent structure - a > structure allocated by Windows Sockets. The hostent structure contains > the results of a successful search for the host specified in the name > parameter [of gethostbyname()]. > > The application must never attempt to modify this structure or to free > any of its components. Furthermore, only one copy of this structure is > allocated per thread, so the application should copy any information it > needs before issuing any other Windows Sockets function calls. > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/