今天做了一个实验来模拟在suspend最后那一刻,对文件操作。结果,机器整个hang。
FILE *logFile;
FileSystemPowerFunction(FSNOTIFY_POWER_OFF);
logFile = _tfopen(TEXT("hello.txt"), TEXT("w"));
if (logFile != NULL)
{
_ftprintf(logFile, TEXT("%ld"), 12 );
fclose(logFile);
}
FileSystemPowerFunction(FSNOTIFY_POWER_OFF);是power manager在睡前最后几步必做的事情。而下面的写操作是模拟另一个线程在这个时刻后做写文件的操作。结果就是死亡。
这样的结构在实际开发中很容易形成,要特别小心。
没有评论:
发表评论