mirror of
https://github.com/opentofu/opentofu.git
synced 2024-12-26 00:41:27 -06:00
ff27841b50
This is a purely mechanical refactor PR: I de-exported a few more functions which did not need to be exported in the first place, and fixed a few outdated log outputs.
20 lines
663 B
Go
20 lines
663 B
Go
package terraform
|
|
|
|
// updateStateHook calls the PostStateUpdate hook with the current state.
|
|
func updateStateHook(ctx EvalContext) error {
|
|
// In principle we could grab the lock here just long enough to take a
|
|
// deep copy and then pass that to our hooks below, but we'll instead
|
|
// hold the hook for the duration to avoid the potential confusing
|
|
// situation of us racing to call PostStateUpdate concurrently with
|
|
// different state snapshots.
|
|
stateSync := ctx.State()
|
|
state := stateSync.Lock().DeepCopy()
|
|
defer stateSync.Unlock()
|
|
|
|
// Call the hook
|
|
err := ctx.Hook(func(h Hook) (HookAction, error) {
|
|
return h.PostStateUpdate(state)
|
|
})
|
|
return err
|
|
}
|