ファイルシステム操作の非同期的な使用

ファイルシステム操作が非同期的に使用されています。

fopen、mkdir、chmod などのファイルシステムにアクセスする API 関数 は、 スレッドセーフではないため、マルチスレッド領域で使用するべきではありません。これにより、並列モードとシーケンシャル・モードで異なる実行結果がもたらされます。

ID

問題箇所

説明

1

呼び出し位置

安全でない関数が呼び出された場所


#include <stdio.h>

int main(int argc, char **argv)
{
    int i;
    FILE * fp;

#pragma omp parallel for lastprivate(fp)
    for (i = 0; i < 6; i++) {
        fp = fopen("my_file.txt", "r");
    }
    fclose(fp);
    return 0;
}
        

© 2010 Intel Corporation. 無断での引用、転載を禁じます。