- 论坛徽章:
- 0
|
hi,all:
整个架构伪代码大致如下:
snmp_sess_init(session);
while(1)
{
for(i=0;i<32;i++)
{
data=malloc(....);
data...=...;
data.session=session;
pthread_create(tids[i],NULL.......&data);
}
for(i=0;i<32;i++)
{
pthread_join(tids[i],NULL);
//.........
}
}
在线程函数中:
{
snmp_sess_open;
snmp_pdu_create(SNMP_MSG_GET);
snmp_parse_oid;
snmp_add_null_var;
snmp_sess_synch_response;
//get values from response......
//free pud....
snmp_sess_close;
}
现在的问题是:
大概过两三个while周期,程序就crash.
gdb core
都显示snmp_sess_close中double free或者free出错。。
求教,各位 |
|