【发布时间】:2011-05-19 09:23:59
【问题描述】:
高并发调用时出现,gethostbyname的结果好像没有缓存?
static int proxy_getaddr(char *HostName)
{
struct hostent* Host;
Host=gethostbyname(HostName);
if(!Host)
{
unsigned long int addr=inet_addr(HostName);
if(addr!=-1)
Host=gethostbyaddr((char*)addr,sizeof(addr),AF_INET);
}
...
这是核心转储:
0x00000034f40e98b1 in gethostbyaddr () from /lib64/libc.so.6
0x000000000040182c in proxy_getaddr (HostName=0x48d75be0 "stackoverflow.com")
我该如何解决这个问题?
【问题讨论】:
标签: c network-programming