[*] NT: these file handles must be marked async if reimported

This commit is contained in:
Reece Wilson 2023-07-30 14:27:04 +01:00
parent 9a2e5674e8
commit c85d65aa59
2 changed files with 7 additions and 1 deletions

View File

@ -14,6 +14,8 @@
#include <Source/IO/Loop/LSEvent.hpp>
#include <Source/IO/FS/Async.NT.hpp>
#include <Source/IO/AuIOHandle.hpp>
#include "AuIPCPipe.NT.hpp"
namespace Aurora::IO::IPC
@ -84,7 +86,6 @@ namespace Aurora::IO::IPC
IPCPipeImpl::IPCPipeImpl(HANDLE clientHandle, HANDLE serverHandle, const IPCHandle &handle) :
serverHandle_(serverHandle), clientHandle_(clientHandle), ipcHandle_(handle)
{
if (serverHandle != INVALID_HANDLE_VALUE)
{
this->hasClient_ = Loop::NewLSEvent(false, false, true);
@ -97,6 +98,8 @@ namespace Aurora::IO::IPC
this->fsStream_ = AuMakeSharedPanic<IO::FS::NtAsyncFileStream>();
this->fsHandle_->InitFromMove((AuUInt)this->GetPipeHandle());
AuStaticCast<AFileHandle>(this->fsHandle_)->bIsAsync = true;
this->fsStream_->Init(this->fsHandle_);
TryConnect();

View File

@ -19,6 +19,7 @@
#include <Source/IO/FS/FS.hpp>
#include <Source/IO/FS/Async.NT.hpp>
#include <Source/IO/Loop/LSHandle.hpp>
#include <Source/IO/AuIOHandle.hpp>
#include "AuCreatePipeEx.NT.hpp"
@ -384,6 +385,7 @@ namespace Aurora::Processes
}
this->fsHandle_->InitFromPairMove((AuUInt64)this->pipeStdOutRead_, (AuUInt64)this->pipeStdInWrite_);
AuStaticCast<AuIO::AFileHandle>(this->fsHandle_)->bIsAsync = true;
this->fsStream_->Init(this->fsHandle_);
}
@ -402,6 +404,7 @@ namespace Aurora::Processes
}
this->fsErrorHandle_->InitFromPairMove((AuUInt64)this->pipeStdErrRead_, {});
AuStaticCast<AuIO::AFileHandle>(this->fsErrorHandle_)->bIsAsync = true;
this->fsErrorStream_->Init(this->fsErrorHandle_);
}