轉載自:https://blog.csdn.net/iam_charlie/article/details/6052898
上午做個測試程式,模拟多用戶端測試伺服器壓力,開始時有的用戶端總是顯示斷開連接配接,然後就去查用戶端,發現有用戶端沒有收到消息,然後每個接收線程加日志,結果很奇怪,沒有日志出來,懷疑是線程建立沒有成功。
ret = pthread_create(&thread_id_recv[i], NULL, recv_thread, this);
if(ret == -1)
{
printf("create thread tcp recv_thread failed erron= %d/n", errno);
return false;
}
有時候 ret == -1 有時候會列印那個錯誤号總是 errno==12,沿着這個錯誤找,就知道是記憶體不足了
後來查手冊,發現傳回值 0 才算是成功, 其他表示錯誤!
ret = pthread_create(&thread_id_recv[i], NULL, recv_thread, this);
if (ret != 0)
{
printf("create thread tcp recv_thread failed/n");
return 1;
}