次のコードは pthread の参加に失敗し、「参加に失敗しました」というメッセージが出力されます。障害とその原因に関する詳細情報を取得するにはどうすればよいですか?
pthread_t aThread[MAX_LENGTH];
int errCode[MAX_LENGTH];
char returnVal;
for(int i = 0; i < MAX_LENGTH; i++)
{
if((errCode[i] = pthread_create(&aThread[i], NULL, &findMatch, &fpArgs)) != 0)
printf("error creating thread %d\n", errCode[i]);
if(!pthread_join(aThread[i], (void**)&returnVal))
printf("join failed\n i is %d", i);
}
編集:実際に結合が返さno error
れ、私は間違いを犯しました。!
if ステートメントには、true と評価される問題がある場合、join がゼロ以外の数値を返すため、 を含める必要はありません。