Skip to content

Commit f271400

Browse files
committed
Fixes some issues with configureawait and getting result
1 parent 4cd5cb7 commit f271400

File tree

3 files changed

+9
-9
lines changed

3 files changed

+9
-9
lines changed

src/AsyncSingleton.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -152,17 +152,17 @@ private object InitSyncInternal(params object[] objects)
152152
if (_asyncObjectFunc is null)
153153
throw new NullReferenceException(Constants.InitializationFuncError);
154154

155-
return _asyncObjectFunc(objects).NoSync().GetAwaiter().GetResult();
155+
return _asyncObjectFunc(objects).AwaitSync();
156156
case InitializationType.AsyncObjectToken:
157157
if (_asyncObjectTokenFunc is null)
158158
throw new NullReferenceException(Constants.InitializationFuncError);
159159

160-
return _asyncObjectTokenFunc(CancellationToken.None, objects).NoSync().GetAwaiter().GetResult();
160+
return _asyncObjectTokenFunc(CancellationToken.None, objects).AwaitSync();
161161
case InitializationType.Async:
162162
if (_asyncFunc is null)
163163
throw new NullReferenceException(Constants.InitializationFuncError);
164164

165-
return _asyncFunc().NoSync().GetAwaiter().GetResult();
165+
return _asyncFunc().AwaitSync();
166166
case InitializationType.SyncObject:
167167
if (_objectFunc is null)
168168
throw new NullReferenceException(Constants.InitializationFuncError);
@@ -257,7 +257,7 @@ public void Dispose()
257257
else if (localInstance is IAsyncDisposable asyncDisposable)
258258
{
259259
// Handle async disposal in a synchronous context.
260-
asyncDisposable.DisposeAsync().NoSync().GetAwaiter().GetResult();
260+
asyncDisposable.DisposeAsync().AwaitSync();
261261
}
262262

263263
// Clear the instance explicitly to allow for garbage collection.

src/AsyncSingleton{T}.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -173,19 +173,19 @@ private T GetSyncInternal(params object[] objects)
173173
throw new NullReferenceException(Constants.InitializationFuncError);
174174

175175
// Not a great situation here - we only have async initialization but we're calling this synchronously... so we'll block
176-
return _asyncObjectFunc(objects).NoSync().GetAwaiter().GetResult();
176+
return _asyncObjectFunc(objects).AwaitSync();
177177
case InitializationType.AsyncObjectToken:
178178
if (_asyncObjectTokenFunc is null)
179179
throw new NullReferenceException(Constants.InitializationFuncError);
180180

181181
// Not a great situation here - we only have async initialization but we're calling this synchronously... so we'll block
182-
return _asyncObjectTokenFunc(CancellationToken.None, objects).NoSync().GetAwaiter().GetResult();
182+
return _asyncObjectTokenFunc(CancellationToken.None, objects).AwaitSync();
183183
case InitializationType.Async:
184184
if (_asyncFunc is null)
185185
throw new NullReferenceException(Constants.InitializationFuncError);
186186

187187
// Not a great situation here - we only have async initialization but we're calling this synchronously... so we'll block
188-
return _asyncFunc().NoSync().GetAwaiter().GetResult();
188+
return _asyncFunc().AwaitSync();
189189
case InitializationType.SyncObject:
190190
if (_objectFunc is null)
191191
throw new NullReferenceException(Constants.InitializationFuncError);
@@ -283,7 +283,7 @@ public void Dispose()
283283
// Handle IAsyncDisposable in a synchronous context
284284
else if (localInstance is IAsyncDisposable asyncDisposable)
285285
{
286-
asyncDisposable.DisposeAsync().NoSync().GetAwaiter().GetResult();
286+
asyncDisposable.DisposeAsync().AwaitSync();
287287
}
288288

289289
// Clear the instance reference and suppress finalization

src/Soenneker.Utils.AsyncSingleton.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,6 @@
3838
<None Include="..\icon.png" Pack="true" PackagePath="\" />
3939

4040
<PackageReference Include="Nito.AsyncEx" Version="5.1.2" />
41-
<PackageReference Include="Soenneker.Extensions.ValueTask" Version="3.0.79" />
41+
<PackageReference Include="Soenneker.Extensions.ValueTask" Version="3.0.81" />
4242
</ItemGroup>
4343
</Project>

0 commit comments

Comments
 (0)