Skip to content

Commit 5c0daf9

Browse files
authored
Don't call HttpCloseUrlGroup if you didn't create it (#28336)
* Add created bool * Be explicit in setting the flag
1 parent e0bed58 commit 5c0daf9

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

src/Servers/HttpSys/src/NativeInterop/UrlGroup.cs

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,15 @@ internal class UrlGroup : IDisposable
2020

2121
private ServerSession _serverSession;
2222
private bool _disposed;
23+
private bool _created;
2324

2425
internal unsafe UrlGroup(ServerSession serverSession, ILogger logger)
2526
{
2627
_serverSession = serverSession;
2728
_logger = logger;
2829

2930
ulong urlGroupId = 0;
31+
_created = true;
3032
var statusCode = HttpApi.HttpCreateUrlGroup(
3133
_serverSession.Id.DangerousGetServerSessionId(), &urlGroupId, 0);
3234

@@ -44,6 +46,7 @@ internal unsafe UrlGroup(RequestQueue requestQueue, UrlPrefix url, ILogger logge
4446
_logger = logger;
4547

4648
ulong urlGroupId = 0;
49+
_created = false;
4750
var statusCode = HttpApi.HttpFindUrlGroupId(
4851
url.FullPrefix, requestQueue.Handle, &urlGroupId);
4952

@@ -141,14 +144,20 @@ public void Dispose()
141144

142145
_disposed = true;
143146

144-
Debug.Assert(Id != 0, "HttpCloseUrlGroup called with invalid url group id");
147+
if (_created)
148+
{
145149

146-
uint statusCode = HttpApi.HttpCloseUrlGroup(Id);
150+
Debug.Assert(Id != 0, "HttpCloseUrlGroup called with invalid url group id");
151+
152+
uint statusCode = HttpApi.HttpCloseUrlGroup(Id);
153+
154+
if (statusCode != UnsafeNclNativeMethods.ErrorCodes.ERROR_SUCCESS)
155+
{
156+
_logger.LogError(LoggerEventIds.CloseUrlGroupError, "HttpCloseUrlGroup; Result: {0}", statusCode);
157+
}
147158

148-
if (statusCode != UnsafeNclNativeMethods.ErrorCodes.ERROR_SUCCESS)
149-
{
150-
_logger.LogError(LoggerEventIds.CloseUrlGroupError, "HttpCloseUrlGroup; Result: {0}" , statusCode);
151159
}
160+
152161
Id = 0;
153162
}
154163

0 commit comments

Comments
 (0)