Bumps [github.com/hashicorp/terraform-plugin-sdk/v2](https://github.com/hashicorp/terraform-plugin-sdk) from 2.26.1 to 2.27.0. - [Release notes](https://github.com/hashicorp/terraform-plugin-sdk/releases) - [Changelog](https://github.com/hashicorp/terraform-plugin-sdk/blob/main/CHANGELOG.md) - [Commits](https://github.com/hashicorp/terraform-plugin-sdk/compare/v2.26.1...v2.27.0) --- updated-dependencies: - dependency-name: github.com/hashicorp/terraform-plugin-sdk/v2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
34 lines
649 B
Go
34 lines
649 B
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
package plugin
|
|
|
|
import (
|
|
"syscall"
|
|
)
|
|
|
|
const (
|
|
// Weird name but matches the MSDN docs
|
|
exit_STILL_ACTIVE = 259
|
|
|
|
processDesiredAccess = syscall.STANDARD_RIGHTS_READ |
|
|
syscall.PROCESS_QUERY_INFORMATION |
|
|
syscall.SYNCHRONIZE
|
|
)
|
|
|
|
// _pidAlive tests whether a process is alive or not
|
|
func _pidAlive(pid int) bool {
|
|
h, err := syscall.OpenProcess(processDesiredAccess, false, uint32(pid))
|
|
if err != nil {
|
|
return false
|
|
}
|
|
defer syscall.CloseHandle(h)
|
|
|
|
var ec uint32
|
|
if e := syscall.GetExitCodeProcess(h, &ec); e != nil {
|
|
return false
|
|
}
|
|
|
|
return ec == exit_STILL_ACTIVE
|
|
}
|