pulumi/sdk/go/common/resource
Abhinav Gupta 25901d95c4
resource/plugin: Shut down plugins gracefully (#13795)
Uses the new TerminateProcessGroup functionality introduced in #13792
to shut down plugins gracefully.

Graceful shutdown takes the following form:

- Send a termination signal (SIGINT or CTRL_BREAK_EVENT)
- Wait up to 1 second for the plugin to exit
- Kill it with SIGKILL

Note that TerminateProcessGroup kills the entire group
so we don't need a separate KillChildren and cmd.Process.Kill().

This change also deprecates cmdutil.KillChildren
since we shouldn't really be using SIGKILL as a first resort anyway.

Note that this does not modify the behavior of individual plugins.
Those will exit as usual but with a SIGINT instead of SIGKILL
terminating them.

Resolves #9780
2023-08-29 12:02:54 +00:00
..
config all: Drop //nolint:goconst 2023-03-09 11:15:21 -08:00
plugin resource/plugin: Shut down plugins gracefully (#13795) 2023-08-29 12:02:54 +00:00
testing deps: Upgrade to pgregory.net/rapid v0.5 2023-02-16 12:04:07 -08:00
alias.go [engine] Fix aliasing children 2023-06-14 05:19:17 -07:00
alias_test.go feat(engine): Adds structured alias support to the engine 2022-10-11 17:56:32 -04:00
asset.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
asset_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
custom_timeouts.go move pkg/resource -> sdk/go/common/resource, but leave nested resource packages 2020-03-18 13:36:19 -07:00
errors.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
mapper_test.go Allow decoding *asset and *archive values 2022-10-17 13:28:13 -07:00
properties.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
properties_diff.go Use slice.Prealloc instead of make([]T, 0, ...) 2023-06-29 11:27:50 +01:00
properties_diff_test.go all: Reformat with gofumpt 2023-03-03 09:00:24 -08:00
properties_path.go Fix wildcards and indexers in IgnoreChanges 2023-06-20 09:45:02 +01:00
properties_path_test.go Fix wildcards and indexers in IgnoreChanges 2023-06-20 09:45:02 +01:00
properties_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00
resource_goal.go [engine] Add support for source positions 2023-07-10 14:35:40 -07:00
resource_id.go sdk/go: Prefer contract.Assertf over Assert 2023-02-15 10:22:43 -08:00
resource_id_test.go all: Drop //nolint:goconst 2023-03-09 11:15:21 -08:00
resource_operation.go move pkg/resource -> sdk/go/common/resource, but leave nested resource packages 2020-03-18 13:36:19 -07:00
resource_state.go [engine] Add support for source positions 2023-07-10 14:35:40 -07:00
stack.go [breaking] Changing the version of go.mod in sdk / pkg to be v3 2021-04-14 19:32:18 +01:00
status.go move pkg/resource -> sdk/go/common/resource, but leave nested resource packages 2020-03-18 13:36:19 -07:00
urn.go Validate resource option URNs 2023-07-19 11:40:37 +01:00
urn_test.go ci: radical idea - what if slow tests & no stdout makes GH consider runner dead? 2022-03-06 14:52:13 -08:00