コード例 #1
0
ファイル: work_spec.go プロジェクト: dmaze/goordinate
func (spec *workSpec) SetMeta(meta coordinate.WorkSpecMeta) error {
	globalLock(spec)
	defer globalUnlock(spec)

	// Preserve immutable fields (taking advantage of meta pass-by-value)
	meta.CanBeContinuous = spec.meta.CanBeContinuous
	meta.NextWorkSpecName = spec.meta.NextWorkSpecName

	// If this cannot be continuous, force-clear that flag
	if !meta.CanBeContinuous {
		meta.Continuous = false
	}

	spec.meta = meta
	return nil
}