bd18384038
The Pulumi .NET SDK does not currently await all outstanding asynchronous work associated with a Pulumi program. Because all relevant asynchronous work is created via the Pulumi SDK, we can track this asynchronous work and ensure that it has all completed prior to returning from `Deployment.RunAsync`. The implementation here is simpler than that in #6983, and re-uses the existing support for tracking outstanding RPCs. If this proves to negatively impact performance (which is a very real possibility for programs that create many `Output` instances), we can simplify this using a semaphore and a counter (essentially Go's `sync.WaitGroup`). This fixes the .NET portion of #3991. |
||
---|---|---|
.. | ||
Deployment.cs | ||
Deployment.Logger.cs | ||
Deployment.Runner.cs | ||
Deployment_Config.cs | ||
Deployment_Inline.cs | ||
Deployment_Invoke.cs | ||
Deployment_Prepare.cs | ||
Deployment_ReadOrRegisterResource.cs | ||
Deployment_ReadResource.cs | ||
Deployment_RegisterResource.cs | ||
Deployment_RegisterResourceOutputs.cs | ||
Deployment_RootResource.cs | ||
Deployment_Run.cs | ||
Deployment_Serialization.cs | ||
DeploymentInstance.cs | ||
GrpcEngine.cs | ||
GrpcMonitor.cs | ||
IDeployment.cs | ||
IDeploymentInternal.cs | ||
IEngine.cs | ||
ILogger.cs | ||
IMonitor.cs | ||
InlineDeploymentSettings.cs | ||
InvokeOptions.cs | ||
IRunner.cs |