[*] pipe processors with a stack attached to them should destroy the stack to forcefully break circular references in user code

This commit is contained in:
Reece Wilson 2023-04-27 06:09:19 +01:00
parent f70d6392d9
commit f1e9a7262b

View File

@ -363,9 +363,9 @@ namespace Aurora::IO
this->buffer_.writePtr = this->buffer_.readPtr + uAbsDataToRead;
}
if (pProtocolStack)
if (this->pProtocolStack)
{
pProtocolStack->DoTick();
this->pProtocolStack->DoTick();
}
try
@ -578,6 +578,12 @@ namespace Aurora::IO
this->pAsyncAdapter_.reset();
this->pAsyncStreamReader_.reset();
if (this->pProtocolStack)
{
this->pProtocolStack->Destroy();
this->pProtocolStack.reset();
}
}
IOPipeProcessor::IOPipeProcessor(IOProcessor *parent) :