diff --git a/Source/IO/AuIOHandle.Unix.cpp b/Source/IO/AuIOHandle.Unix.cpp index fc69e74d..7549a9c6 100644 --- a/Source/IO/AuIOHandle.Unix.cpp +++ b/Source/IO/AuIOHandle.Unix.cpp @@ -248,9 +248,14 @@ namespace Aurora::IO if (!FS::ApplyDumbAdvisoryLock(iFileDescriptor, create.eAdvisoryLevel)) { - SysPushErrorIO("Couldn't open file: {}. File node (not section) is locked.", path); - ::close(iFileDescriptor); - return false; + RuntimeWaitForSecondaryTick(); + + if (!FS::ApplyDumbAdvisoryLock(iFileDescriptor, create.eAdvisoryLevel)) + { + SysPushErrorIO("Couldn't open file: {}. File node (not section) is locked.", path); + ::close(iFileDescriptor); + return false; + } } if (create.bFailIfNonEmptyFile) @@ -288,7 +293,6 @@ namespace Aurora::IO this->bFlushOnClose = create.bFlushOnClose; this->path = create.path; - return this->IsValid(); }