Skip to content

Commit bb4bd7a

Browse files
committed
RTSDK-8097 Fixed the rsslReactorCloseChannel() to properly unlock the interface lock when it fails to put an event to the Reactor's queue.
1 parent 0ff598d commit bb4bd7a

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

Cpp-C/Eta/Impl/Reactor/rsslReactor.c

+5-1
Original file line numberDiff line numberDiff line change
@@ -4596,7 +4596,11 @@ RSSL_VA_API RsslRet rsslReactorCloseChannel(RsslReactor *pReactor, RsslReactorCh
45964596
pReactorWarmStanbyEvent->pReactorChannel = (RsslReactorChannel*)pReactorChannel;
45974597

45984598
if (!RSSL_ERROR_INFO_CHECK(rsslReactorEventQueuePut(&pReactorImpl->reactorEventQueue, (RsslReactorEventImpl*)pReactorWarmStanbyEvent) == RSSL_RET_SUCCESS, RSSL_RET_FAILURE, pError))
4599-
return RSSL_RET_FAILURE;
4599+
{
4600+
_reactorShutdown(pReactorImpl, pError);
4601+
_reactorSendShutdownEvent(pReactorImpl, pError);
4602+
return (reactorUnlockInterface(pReactorImpl), RSSL_RET_FAILURE);
4603+
}
46004604
}
46014605
else
46024606
{

0 commit comments

Comments
 (0)