MCPcopy Index your code
hub / github.com/wavetermdev/waveterm / unameKernelRelease

Function unameKernelRelease

pkg/wavebase/wavebase.go:393–411  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

391var osRelease string
392
393func unameKernelRelease() string {
394 if runtime.GOOS == "windows" {
395 return "-"
396 }
397 ctx, cancelFn := context.WithTimeout(context.Background(), 2*time.Second)
398 defer cancelFn()
399 out, err := exec.CommandContext(ctx, "uname", "-r").CombinedOutput()
400 if err != nil {
401 log.Printf("error executing uname -r: %v\n", err)
402 return "-"
403 }
404 releaseStr := strings.TrimSpace(string(out))
405 m := releaseRegex.FindStringSubmatch(releaseStr)
406 if len(m) < 2 {
407 log.Printf("invalid uname -r output: [%s]\n", releaseStr)
408 return "-"
409 }
410 return m[1]
411}
412
413func UnameKernelRelease() string {
414 osReleaseOnce.Do(func() {

Callers 1

UnameKernelReleaseFunction · 0.85

Calls 1

CombinedOutputMethod · 0.80

Tested by

no test coverage detected