>>> On 4/24/2007 at 7:23 PM, in message <[EMAIL PROTECTED]>, "Nick Galbreath" <[EMAIL PROTECTED]> wrote: > I'm not an official developer in ganglia, but I think it's great. > > Also note that in monitor-core/srclib/inetaddr.c contains a mutex-protected > gethostbyname to be thread safe (which cleverly avoids the nightmare that is > gethostbyname_r). That can probably be replaced with the one in > apr_network_io.h in 'apr_sockaddr_info' Hmmm looking at inetaddr.c, a good > bit of it could probably be replaced with apr code. > > If you need an assistance, let me know. > > --nickg >
Absolutely, I think that there are several things that should be replaced. APR 1.2 introduces a set of multicast APIs as well that should probably replace the multicasting functions in apr_net.c. There is also a function called apr_sockaddr_ip_buffer_get() in apr_net.c that is a rewrite of apr_sockaddr_ip_get(). I understand the purpose for the rewrite which is to avoid memory pool allocations that can't be freed, but this function is calling a private APR function which is a little bothersome. The way this function is being called should probably be reworked to avoid calling private APR functions and allow the memory pool allocations to be cleaned up. I would suggest doing something like Apache where each "transaction" (ie. processing metrics, handling an interactive request, etc.) be given a transaction pool that is cleaned up once the transaction is complete. Anyway, I am close to having the static dependancy removed and once I get that committed into trunk, you could probably start creating the patches. Brad
