mirror of
https://github.com/microsoft/autogen.git
synced 2025-08-23 16:12:22 +00:00

In the .NET InProcessRuntime we tried to minimize the amount of tasks created. Unfortunately, this results in a deadlock when a send message handler is attempting to SendMessage during the handling of the incoming message. The fix is to create a new task for delivering the message in the message processing loop, which creates a new logical stack to run the delivery, freeing the loop to process the next delivery request. * Also fixes passing exceptions and cancellations back to the waiting task. * Also fixes a build slowdown on Windows due to uv and llama-cpp Closes #5915
13 lines
364 B
C#
13 lines
364 B
C#
// Copyright (c) Microsoft Corporation. All rights reserved.
|
|
// InProcessRuntimeExtensions.cs
|
|
namespace Microsoft.AutoGen.Core.Tests;
|
|
|
|
public static class InProcessRuntimeExtensions
|
|
{
|
|
public static async ValueTask RunUntilIdleAndRestartAsync(this InProcessRuntime this_)
|
|
{
|
|
await this_.RunUntilIdleAsync();
|
|
await this_.StartAsync();
|
|
}
|
|
}
|