Selaa lähdekoodia

Lock when removing disconnect handler (#6862)

Pavel Krymets 7 vuotta sitten
vanhempi
sitoutus
f83f3bca08

+ 1 - 0
src/Servers/IIS/AspNetCoreModuleV2/AspNetCore/DisconnectHandler.cpp

@@ -53,5 +53,6 @@ void DisconnectHandler::SetHandler(std::unique_ptr<IREQUEST_HANDLER, IREQUEST_HA
 
 void DisconnectHandler::RemoveHandler() noexcept
 {
+    SRWExclusiveLock lock(m_handlerLock);
     m_pHandler = nullptr;
 }

+ 2 - 0
src/Servers/IIS/AspNetCoreModuleV2/CommonLib/requesthandler.h

@@ -24,6 +24,8 @@ public:
     VOID
     ReferenceRequestHandler() noexcept override
     {
+        DBG_ASSERT(m_cRefs != 0);
+
         InterlockedIncrement(&m_cRefs);
     }