// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

package os

var (
	PollCopyFileRangeP  = &pollCopyFileRange
	PollSpliceFile      = &pollSplice
	GetPollFDAndNetwork = getPollFDAndNetwork
	CheckPidfdOnce      = checkPidfdOnce
)

const StatusDone = statusDone

func (p *Process) Status() processStatus {
	return processStatus(p.state.Load())
}
