diff --git a/src/HotChocolate/Adapters/test/Adapters.Mcp.Tests/TestMcpStorage.cs b/src/HotChocolate/Adapters/test/Adapters.Mcp.Tests/TestMcpStorage.cs index faed98c03df..71e294206e6 100644 --- a/src/HotChocolate/Adapters/test/Adapters.Mcp.Tests/TestMcpStorage.cs +++ b/src/HotChocolate/Adapters/test/Adapters.Mcp.Tests/TestMcpStorage.cs @@ -50,12 +50,17 @@ public async Task AddOrUpdatePromptAsync( { await _promptSemaphore.WaitAsync(cancellationToken); - if (!_prompts.TryAdd(promptDefinition.Name, promptDefinition)) + try { - _prompts[promptDefinition.Name] = promptDefinition; + if (!_prompts.TryAdd(promptDefinition.Name, promptDefinition)) + { + _prompts[promptDefinition.Name] = promptDefinition; + } + } + finally + { + _promptSemaphore.Release(); } - - _promptSemaphore.Release(); NotifySubscribers(promptDefinition.Name, promptDefinition, PromptStorageEventType.Updated); } @@ -66,12 +71,17 @@ public async Task AddOrUpdateToolAsync( { await _toolSemaphore.WaitAsync(cancellationToken); - if (!_tools.TryAdd(toolDefinition.Name, toolDefinition)) + try { - _tools[toolDefinition.Name] = toolDefinition; + if (!_tools.TryAdd(toolDefinition.Name, toolDefinition)) + { + _tools[toolDefinition.Name] = toolDefinition; + } + } + finally + { + _toolSemaphore.Release(); } - - _toolSemaphore.Release(); NotifySubscribers(toolDefinition.Name, toolDefinition, OperationToolStorageEventType.Updated); }