---Louis A. Mamakos said: >> ---Steve Tarkalson said: >> > this is solved by one of two methods: >> > 1-) require the caller of gethostbyaddr() to supply a pointer to >> > a hostent struct which will be filled. >> > or 2-) the library uses thread specific storage which is re-used in >> > each call. >> > >> You could malloc() a struct hostent for each call to >> gethostby*(), each time registering the hostent in some list along with the >> thread's PID. If the same thread calls gethostby*, use the same buffer, or >> allocate a new one if another thread calls it. Have a static function be > called >> atexit to free all the mallocs. > > Yuk! > > If you're writing a multithreaded program, a slightly different API for > gethostbyname() is likely to be the least of your worries. >
Well, I guess we might as well change the API, since everyone else does. Unless someone comes up with a bettter idea, of course :) -Joe To Unsubscribe: send mail to majord...@freebsd.org with "unsubscribe freebsd-hackers" in the body of the message