[*] NT: these file handles must be marked async if reimported
This commit is contained in:
parent
9a2e5674e8
commit
c85d65aa59
@ -14,6 +14,8 @@
|
|||||||
#include <Source/IO/Loop/LSEvent.hpp>
|
#include <Source/IO/Loop/LSEvent.hpp>
|
||||||
#include <Source/IO/FS/Async.NT.hpp>
|
#include <Source/IO/FS/Async.NT.hpp>
|
||||||
|
|
||||||
|
#include <Source/IO/AuIOHandle.hpp>
|
||||||
|
|
||||||
#include "AuIPCPipe.NT.hpp"
|
#include "AuIPCPipe.NT.hpp"
|
||||||
|
|
||||||
namespace Aurora::IO::IPC
|
namespace Aurora::IO::IPC
|
||||||
@ -84,7 +86,6 @@ namespace Aurora::IO::IPC
|
|||||||
IPCPipeImpl::IPCPipeImpl(HANDLE clientHandle, HANDLE serverHandle, const IPCHandle &handle) :
|
IPCPipeImpl::IPCPipeImpl(HANDLE clientHandle, HANDLE serverHandle, const IPCHandle &handle) :
|
||||||
serverHandle_(serverHandle), clientHandle_(clientHandle), ipcHandle_(handle)
|
serverHandle_(serverHandle), clientHandle_(clientHandle), ipcHandle_(handle)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (serverHandle != INVALID_HANDLE_VALUE)
|
if (serverHandle != INVALID_HANDLE_VALUE)
|
||||||
{
|
{
|
||||||
this->hasClient_ = Loop::NewLSEvent(false, false, true);
|
this->hasClient_ = Loop::NewLSEvent(false, false, true);
|
||||||
@ -97,6 +98,8 @@ namespace Aurora::IO::IPC
|
|||||||
this->fsStream_ = AuMakeSharedPanic<IO::FS::NtAsyncFileStream>();
|
this->fsStream_ = AuMakeSharedPanic<IO::FS::NtAsyncFileStream>();
|
||||||
|
|
||||||
this->fsHandle_->InitFromMove((AuUInt)this->GetPipeHandle());
|
this->fsHandle_->InitFromMove((AuUInt)this->GetPipeHandle());
|
||||||
|
AuStaticCast<AFileHandle>(this->fsHandle_)->bIsAsync = true;
|
||||||
|
|
||||||
this->fsStream_->Init(this->fsHandle_);
|
this->fsStream_->Init(this->fsHandle_);
|
||||||
|
|
||||||
TryConnect();
|
TryConnect();
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include <Source/IO/FS/FS.hpp>
|
#include <Source/IO/FS/FS.hpp>
|
||||||
#include <Source/IO/FS/Async.NT.hpp>
|
#include <Source/IO/FS/Async.NT.hpp>
|
||||||
#include <Source/IO/Loop/LSHandle.hpp>
|
#include <Source/IO/Loop/LSHandle.hpp>
|
||||||
|
#include <Source/IO/AuIOHandle.hpp>
|
||||||
|
|
||||||
#include "AuCreatePipeEx.NT.hpp"
|
#include "AuCreatePipeEx.NT.hpp"
|
||||||
|
|
||||||
@ -384,6 +385,7 @@ namespace Aurora::Processes
|
|||||||
}
|
}
|
||||||
|
|
||||||
this->fsHandle_->InitFromPairMove((AuUInt64)this->pipeStdOutRead_, (AuUInt64)this->pipeStdInWrite_);
|
this->fsHandle_->InitFromPairMove((AuUInt64)this->pipeStdOutRead_, (AuUInt64)this->pipeStdInWrite_);
|
||||||
|
AuStaticCast<AuIO::AFileHandle>(this->fsHandle_)->bIsAsync = true;
|
||||||
this->fsStream_->Init(this->fsHandle_);
|
this->fsStream_->Init(this->fsHandle_);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -402,6 +404,7 @@ namespace Aurora::Processes
|
|||||||
}
|
}
|
||||||
|
|
||||||
this->fsErrorHandle_->InitFromPairMove((AuUInt64)this->pipeStdErrRead_, {});
|
this->fsErrorHandle_->InitFromPairMove((AuUInt64)this->pipeStdErrRead_, {});
|
||||||
|
AuStaticCast<AuIO::AFileHandle>(this->fsErrorHandle_)->bIsAsync = true;
|
||||||
this->fsErrorStream_->Init(this->fsErrorHandle_);
|
this->fsErrorStream_->Init(this->fsErrorHandle_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user