Something went wrong. Try again.
forked from tailscale/tailscale
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940// Copyright (c) Tailscale Inc & contributors// SPDX-License-Identifier: BSD-3-Clause
package feature
import ( "runtime"
"tailscale.com/feature/buildfeatures")
// HookSystemdReady sends a readiness to systemd. This will unblock service// dependents from starting.var HookSystemdReady Hook[func()]
// HookSystemdStatus holds a func that will send a single line status update to// systemd so that information shows up in systemctl output.var HookSystemdStatus Hook[func(format string, args ...any)]
// SystemdStatus sends a single line status update to systemd so that// information shows up in systemctl output.//// It does nothing on non-Linux systems or if the binary was built without// the sdnotify feature.func SystemdStatus(format string, args ...any) { if !CanSystemdStatus { // mid-stack inlining DCE return } if f, ok := HookSystemdStatus.GetOk(); ok { f(format, args...) }}
// CanSystemdStatus reports whether the current build has systemd notifications// linked in.//// It's effectively the same as HookSystemdStatus.IsSet(), but a constant for// dead code elimination reasons.const CanSystemdStatus = runtime.GOOS == "linux" && buildfeatures.HasSDNotify