Compare commits

...

4 Commits

Author SHA1 Message Date
Tommaso Checchi
7c7066200c Merge 6b1e951b64 into 73a63b7f67 2025-10-04 04:44:52 -07:00
Ikiru Yoshizaki
73a63b7f67 Merge pull request #680 from Cysharp/ci/nuget_release
ci: add id-token: write for NuGet Trusted Publish
2025-10-01 16:31:33 +09:00
Ikiru Yoshizaki
30bec5d5c4 ci: add id-token: write for NuGet Trusted Publish 2025-10-01 16:03:54 +09:00
Tommaso Checchi
6b1e951b64 RunOnThreadPool: fixed an issue where a cancellation could prevent returning to the main thread 2025-07-09 21:29:12 -07:00
2 changed files with 17 additions and 18 deletions

View File

@@ -101,6 +101,7 @@ jobs:
needs: [update-packagejson, build-dotnet, build-unity]
permissions:
contents: write
id-token: write # required for NuGet Trusted Publish
uses: Cysharp/Actions/.github/workflows/create-release.yaml@main
with:
commit-id: ${{ needs.update-packagejson.outputs.sha }}

View File

@@ -66,12 +66,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
action();
}
finally
@@ -81,6 +80,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
action();
}
@@ -94,12 +94,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
action(state);
}
finally
@@ -109,6 +108,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
action(state);
}
@@ -122,12 +122,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
await action();
}
finally
@@ -137,6 +136,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
await action();
}
@@ -150,12 +150,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
await action(state);
}
finally
@@ -165,6 +164,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
await action(state);
}
@@ -178,12 +178,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
return func();
}
finally
@@ -194,6 +193,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
return func();
}
}
@@ -205,23 +205,22 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
return await func();
}
finally
{
cancellationToken.ThrowIfCancellationRequested();
await UniTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
cancellationToken.ThrowIfCancellationRequested();
var result = await func();
cancellationToken.ThrowIfCancellationRequested();
return result;
@@ -235,12 +234,11 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
return func(state);
}
finally
@@ -251,6 +249,7 @@ namespace Cysharp.Threading.Tasks
}
else
{
cancellationToken.ThrowIfCancellationRequested();
return func(state);
}
}
@@ -262,23 +261,22 @@ namespace Cysharp.Threading.Tasks
await UniTask.SwitchToThreadPool();
cancellationToken.ThrowIfCancellationRequested();
if (configureAwait)
{
try
{
cancellationToken.ThrowIfCancellationRequested();
return await func(state);
}
finally
{
cancellationToken.ThrowIfCancellationRequested();
await UniTask.Yield();
cancellationToken.ThrowIfCancellationRequested();
}
}
else
{
cancellationToken.ThrowIfCancellationRequested();
var result = await func(state);
cancellationToken.ThrowIfCancellationRequested();
return result;