mirror of https://github.com/acidanthera/audk.git
2551014719
Within function FatQueueTask(), the traverse of FAT subtasks for executing the disk read/write is not delete-safe. For the below case: FatDiskIo(): When non-blocking access, creates subtasks and creates event (FatOnAccessComplete, NOTIFY level) when subtasks finish. FatQueueTask(): Traverses the subtasks and submits them one by one at Tpl lower than NOTIFY. Disk R/W completes really quick. FatOnAccessComplete(): Removes the finished subtask, causing the traverse in FatQueueTask() broken. This commits will refine the subtask traverse in FatQueueTask() to be delete-safe. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Hao Wu <hao.a.wu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> |
||
---|---|---|
.. | ||
ComponentName.c | ||
Data.c | ||
Delete.c | ||
DirectoryCache.c | ||
DirectoryManage.c | ||
DiskCache.c | ||
Fat.c | ||
Fat.h | ||
Fat.inf | ||
Fat.uni | ||
FatExtra.uni | ||
FatFileSystem.h | ||
FileName.c | ||
FileSpace.c | ||
Flush.c | ||
Hash.c | ||
Info.c | ||
Init.c | ||
Misc.c | ||
Open.c | ||
OpenVolume.c | ||
ReadWrite.c | ||
UnicodeCollation.c |