- 論壇徽章:
- 0
|
創(chuàng)建tftp的子線程
static int StartTftpCtrlThread(T_USS_TFTP_DATA *tftpdata)
{
pthread_t tid;
int error = 0;
pthread_attr_t theAttr;
pthread_attr_init(&theAttr);
pthread_attr_setstacksize(&theAttr, 128*1024);
error=pthread_create(&tid, &theAttr, tsend, (void*)tftpdata);
if (0 != error)
{
my_printf("\n\rpthread_create tsend fail! error= %d ",error);
return -1;
}
error=pthread_detach(tid);
if (0 != error)
{
my_printf("\n\rpthread_detach tsend fail! error= %d ",error);
return -1;
}
return 0;
}
創(chuàng)建時有時會報 錯誤嗎12(分配內存失敗)
這個代碼寫的應該沒問題吧? tftp server線程 是在一個大進程下的,大進程很大。
看了很多資料 該處理的都處理了 ulimit 、pthread_detach 而且我設置線程的大小才128K. 應該不會申請不到內存啊 這個程序創(chuàng)建子線程失敗時 我又自己跑了個其他小程序創(chuàng)建線程 還是成功的。。 我這大進程的棧也是夠用的,我看了, 而且我gdb -p 進去 call malloc 也是可以申請內存的。。
請大俠們幫忙分析分析啊~~~~~~~~~ |
|