diff --git a/terraform/provider_mock.go b/terraform/provider_mock.go index b38478281..b3e138b13 100644 --- a/terraform/provider_mock.go +++ b/terraform/provider_mock.go @@ -226,8 +226,10 @@ func (p *MockProvider) Configure(r providers.ConfigureRequest) providers.Configu } func (p *MockProvider) Stop() error { - p.Lock() - defer p.Unlock() + // We intentionally don't lock in this one because the whole point of this + // method is to be called concurrently with another operation that can + // be cancelled. The provider itself is responsible for handling + // any concurrency concerns in this case. p.StopCalled = true if p.StopFn != nil { diff --git a/terraform/provisioner_mock.go b/terraform/provisioner_mock.go index 1a5736c8c..f0682e4f0 100644 --- a/terraform/provisioner_mock.go +++ b/terraform/provisioner_mock.go @@ -119,8 +119,10 @@ func (p *MockProvisioner) ProvisionResource(r provisioners.ProvisionResourceRequ } func (p *MockProvisioner) Stop() error { - p.Lock() - defer p.Unlock() + // We intentionally don't lock in this one because the whole point of this + // method is to be called concurrently with another operation that can + // be cancelled. The provisioner itself is responsible for handling + // any concurrency concerns in this case. p.StopCalled = true if p.StopFn != nil {