Skip to content

Commit b02aca8

Browse files
authored
refactor(NetworkMonitor): add try/finally keep release simaphore slim (#6496)
1 parent c3eba6b commit b02aca8

File tree

1 file changed

+13
-7
lines changed

1 file changed

+13
-7
lines changed

src/BootstrapBlazor/Services/DefaultNetworkMonitorService.cs

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,16 +58,22 @@ public async Task RegisterStateChangedCallback(IComponent component, Func<Networ
5858
await _semaphoreSlim.WaitAsync(3000);
5959
if (!_init)
6060
{
61-
_init = true;
61+
try
62+
{
63+
_init = true;
6264

63-
_networkModule ??= await _runtime.LoadModuleByName("net");
64-
await _networkModule.InvokeVoidAsync("init", new
65+
_networkModule ??= await _runtime.LoadModuleByName("net");
66+
await _networkModule.InvokeVoidAsync("init", new
67+
{
68+
Invoke = _interop,
69+
OnNetworkStateChangedCallback = nameof(TriggerNetworkStateChanged)
70+
});
71+
}
72+
finally
6573
{
66-
Invoke = _interop,
67-
OnNetworkStateChangedCallback = nameof(TriggerNetworkStateChanged)
68-
});
74+
_semaphoreSlim.Release();
75+
}
6976
}
70-
_semaphoreSlim.Release();
7177
}
7278
}
7379

0 commit comments

Comments
 (0)